Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带学位的ACO和cos未给出正确结果_Ios_Objective C_Math_Trigonometry - Fatal编程技术网

Ios 带学位的ACO和cos未给出正确结果

Ios 带学位的ACO和cos未给出正确结果,ios,objective-c,math,trigonometry,Ios,Objective C,Math,Trigonometry,当我编写如下代码时 它返回1作为结果,但若我试图从度而不是弧度获得结果,那个么将面临如下问题 然后它返回0.017453而不是1 结果我得到了正确的1。但如果我写的像下面这样 那么我得到的结果是0.998999。 那么问题在哪里呢? 请帮助我0.017453是关于一个度数的弧度 如果希望日志记录行输出1,则需要将其转换回度数 #define RADIANS_TO_DEGREES(angle) ((angle) * 180.0 / M_PI) NSLog(@"%f", RADIANS_TO_DEG

当我编写如下代码时

它返回1作为结果,但若我试图从度而不是弧度获得结果,那个么将面临如下问题

然后它返回0.017453而不是1

结果我得到了正确的1。但如果我写的像下面这样

那么我得到的结果是0.998999。 那么问题在哪里呢?
请帮助我0.017453是关于一个度数的弧度

如果希望日志记录行输出1,则需要将其转换回度数

#define RADIANS_TO_DEGREES(angle) ((angle) * 180.0 / M_PI)
NSLog(@"%f", RADIANS_TO_DEGREES(acos(cos(DEGREES_TO_RADIANS(1)))));

请注意,由于三角函数和浮点数的精度有限,您可能会得到类似于0.9999的结果。

0.017453是指一个度数中的弧度

如果希望日志记录行输出1,则需要将其转换回度数

#define RADIANS_TO_DEGREES(angle) ((angle) * 180.0 / M_PI)
NSLog(@"%f", RADIANS_TO_DEGREES(acos(cos(DEGREES_TO_RADIANS(1)))));

请注意,由于三角函数和浮点数的精度有限,您可能会得到类似于0.9999的结果。

弧余弦是余弦的倒数

余弦以一个角度作为输入,并返回一个从-1到1的值。 圆弧余弦acos将-1到1之间的值作为输入,并返回一个角度

acos的输入不是角度,因此不应尝试在度和弧度之间进行转换。结果是一个角度。这就是你要改变的

那么你会写信吗

x=弧度到度cos1

这将给出余弦为1的角度,用度表示。acos1的值为0,在度或弧度方面相同

最好使用acos0作为测试值。在pi/2或90度时,余弦函数=0

所以

编辑: 我现在明白了,在你的问题中,你是从一个坐标系到另一个坐标系,这是正确的

但是,如果您希望以度为单位回答问题,您仍然需要将acos的结果转换为度,如上所述。凯文的回答也是正确的。我的错误

注意cos1在度和弧度上都有点奇怪。这两个问题的答案都不公平

cos0=1,cospi=-1,cos2pi=1。 或者以度为单位 cos180=-1,cos360=1


以度为单位的cos1将是一个奇怪的十进制值,以弧度为单位的cos1也将是一个奇怪的十进制值。

弧余弦是余弦的倒数

余弦以一个角度作为输入,并返回一个从-1到1的值。 圆弧余弦acos将-1到1之间的值作为输入,并返回一个角度

acos的输入不是角度,因此不应尝试在度和弧度之间进行转换。结果是一个角度。这就是你要改变的

那么你会写信吗

x=弧度到度cos1

这将给出余弦为1的角度,用度表示。acos1的值为0,在度或弧度方面相同

最好使用acos0作为测试值。在pi/2或90度时,余弦函数=0

所以

编辑: 我现在明白了,在你的问题中,你是从一个坐标系到另一个坐标系,这是正确的

但是,如果您希望以度为单位回答问题,您仍然需要将acos的结果转换为度,如上所述。凯文的回答也是正确的。我的错误

注意cos1在度和弧度上都有点奇怪。这两个问题的答案都不公平

cos0=1,cospi=-1,cos2pi=1。 或者以度为单位 cos180=-1,cos360=1


以度为单位的cos1将是一个奇怪的十进制值,以弧度为单位的cos1也将是一个奇怪的十进制值。

你说得有点对。但是,您不应该将输入转换为度数和弧度之间的acos,因为它不是一个角度。但是如何应用此解决方案或发布您在calculator project中所说的内容?@Duncac,不确定您的意思。如果你的意思是你不应该提供一个角度作为acos的论据,我不是。我在给acos提供cos的返回值。凯文,我错了。我忽略了一个事实,即您有一个从度到弧度的转换,因此度到弧度的转换应用于到余弦的输入,而不是到acos的输入。我收回我的评论,你说得有点对。但是,您不应该将输入转换为度数和弧度之间的acos,因为它不是一个角度。但是如何应用此解决方案或发布您在calculator project中所说的内容?@Duncac,不确定您的意思。如果你的意思是你不应该提供一个角度作为acos的论据,我不是。我在给acos提供cos的返回值。凯文,我错了。我忽略了一个事实,即您有一个从度到弧度的转换,因此度到弧度的转换应用于到余弦的输入,而不是到acos的输入。我收回我的评论。谁否决了我?我的答案是正确的,凯文的答案是不正确的。我没有否决凯文的答案,因为它部分正确。如果你认为我提供了不正确的信息,站出来说出来。我同意,我会给你一个回复:事实上,凯文的答案是完美的。我没有注意到OP使用了acoscos1。谁否决了我?我的答案是正确的,凯文的
他的回答是不正确的。我没有否决凯文的答案,因为它部分正确。如果你认为我提供了不正确的信息,站出来说出来。我同意,我会给你一个回复:事实上,凯文的答案是完美的。我没有注意到OP使用的是acoscos1。
NSLog(@"%f",acos(cos(DEGREES_TO_RADIANS(1)))*180/M_PI);
NSString *a1 = [NSString stringWithFormat:@"%f",(cos(DEGREES_TO_RADIANS(1)))];
NSString *a2 = [NSString stringWithFormat:@"%f",(acos([a1 doubleValue])*180/M_PI)];
NSLog(@"%f",[a2 doubleValue]);
#define RADIANS_TO_DEGREES(angle) ((angle) * 180.0 / M_PI)
NSLog(@"%f", RADIANS_TO_DEGREES(acos(cos(DEGREES_TO_RADIANS(1)))));
acos(0) == pi/2. (~1.5707)

RADIANS_TO_DEGREES(acos(0)) == 90.