0

我在 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
4

1 回答 1

2

这些是正确的结果。您将 45 度的 cos(转换为弧度)乘以 100,45 度(或 pi/4 弧度)的 cos 为 0.7071067,因此打印输出的预期值为 70.7106。

SIN 和 COS 函数以弧度表示参数。您使用正确的公式将输入值从度数转换为弧度,它为您提供了这些转换值的正确结果。

我很好奇您如何进行正确的转换,却没有意识到您做了正确的事情并得到了正确的答案。您是否从其他地方获取此代码?

于 2012-06-17T20:34:43.160 回答