我在Fortran 77中使用COS()和SIN()库得到了一些奇怪的行为。它选择执行它的操作的数字就像这样:
DATA V , THETA , PI / 100 , 45 , 3.1416 /
THETA = THETA * PI/ 180.0
PRINT *, "THETA = " , THETA
VX = V * COS ( THETA )
VY = V * SIN ( THETA )
PRINT *, VX , VY
END
当我检查它时,我发现
COS(THETA)= COS(45)
不是
COS(0.7853)
同样也是SIN()。那么为什么会这样呢?
这是我的输出:
THETA = 0.785400
70.7105 70.7108
答案 0 :(得分:1)
这些都是正确的结果。你得到45度的cos(转换为弧度)并乘以100,并且45度(或pi / 4弧度)的cos是0.7071067,因此打印出来的预期值是70.7106。
SIN和COS函数以弧度为参数。您可以使用正确的公式将输入值从度数转换为弧度,并为转换后的值提供正确的结果。
我很好奇你如何做正确的转换,并没有意识到你做了正确的事并得到了正确的答案。你从其他地方拿过这段代码吗?