【问题标题】:problems with a simple coordinate conversion简单坐标转换的问题
【发布时间】:2017-03-17 23:10:48
【问题描述】:

此代码应该计算并返回一个复数的实部,其大小为 a,角度为 b,以度为单位。它给了我错误的数字。

        x = (a*(cos(b*(180/pi))));

但是,如果角度以弧度给出,这会给我正确的数字。

x = (a*(cos(b)));

pi 定义为 const double pi = 3.142

有什么想法吗?我不明白为什么 x 在第一个示例中应该是错误的,但在第二个示例中是正确的。

【问题讨论】:

    标签: math


    【解决方案1】:

    因为 180 度是 1 pi 弧度。度数到弧度的公式应该是

    弧度 = (度 / 180) pi。

    因此第一个公式应该是

    x = (a*(cos((b / 180)*pi))));
    

    【讨论】:

    • 谢谢。我知道我只是在做一些愚蠢的事情。
    【解决方案2】:

    您进行了反向转换:您的公式将 b 从弧度更改为度数,然后再计算其余弦值。但是您想从度数转换为弧度。正确的公式是

     x = (a*(cos(b*(pi/180)));
    

    虽然您可以使用更少的括号并使用更多的间距:

     x = a * cos(b * pi / 180);
    

    【讨论】:

      【解决方案3】:

      你没有正确使用公式

      这可以写成:

      x = (a*cos((b * pi)/180));

      【讨论】:

        猜你喜欢
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-08
        • 1970-01-01
        相关资源
        最近更新 更多