matlab中,cos(pi/2)等于几?

今天在编垂直发射的火箭程序时发现一个问题,即使把忽略升力等影响侧向、法向飞行的力,火箭的弹道仍然是弯曲的,经过仔细检查后发现一个问题:

cos(pi/2)=?

上式理论值为0。pi为无限循环,由于matlab精度限制,对pi的长度做了限制,cos(pi/2)实际为非常接近于零的值,这样火箭弹道就弯曲了。其它三角函数计算结果与理论值相比也是存在误差的,尽管很小,但由于火箭/导弹飞行时间很长,长时间误差累积也会造成很大的误差。由此看来,数值计算误差也是影响火箭/导弹理论弹道精度的重要因素之一。

针对这种情况有多种解决办法,可以参考:http://www.ilovematlab.cn/thread-66451-1-1.html

我的做法是:自己重新定义cos(pi/2)及sin(pi/2)的值,其它值仍然采用matlab计算结果。

你可能感兴趣的:(源代码,matlab,设计)