这段代码应该计算并返回一个复数的实部,其幅度为a,角度为b。它给了我错误的数字。
x = (a*(cos(b*(180/pi))));
但是,如果角度以弧度给出,则给出正确的数字。
x =(a *(cos(b)));
pi定义为const double pi = 3.142
有什么想法?我不明白为什么x在第一个中应该是错误的但在第二个例子中是正确的。
答案 0 :(得分:2)
180度是1 pi弧度。度数到弧度的公式应为
radian =(度/ 180)pi。
因此第一个公式应该是
x = (a*(cos((b / 180)*pi))));
答案 1 :(得分:1)
您有向后转换:在计算余弦之前,您的公式会将b
从弧度更改为度数。但是你想要从degress转换为弧度。正确的公式是
x = (a*(cos(b*(pi/180)));
虽然你可以使用更少的括号并使用更多的间距:
x = a * cos(b * pi / 180);
答案 2 :(得分:1)
您没有正确使用公式
这可以写成:
x =(a * cos((b * pi)/ 180));