由弧度和角度引發(fā)的血案
2020-11-10 10:25 作者:ocean_tide | 我要投稿
最近有個學(xué)弟請教我問題,如下所示,ha是振幅,hp是遲角,Re是ha*cos(hp),但是他一算發(fā)現(xiàn)怎么Re和ha*cos(hp)的結(jié)果不一樣???他百思不得其解,我笑了笑,因為你的hp是角度,而cos函數(shù)的輸入要求是弧度,你可以用cosd函數(shù),這個函數(shù)的可以輸入角度。然后問題就解決了。這個問題雖然簡單,但是無數(shù)人掉過這個坑。

這個同學(xué)只是運行幾行代碼,如果你的代碼有數(shù)百甚至上千行,要找出這個錯誤可就難了。FVCOM是海洋學(xué)研究中廣泛使用的海洋模型,代碼可能有幾萬行都不止。FVCOM3.1.6和3.2.1版本在使用球坐標(biāo)進行拉格朗日質(zhì)點追蹤時質(zhì)點軌跡異常,表現(xiàn)為質(zhì)點移動速度過快或者質(zhì)點長時間靜止不動。原因很簡單就是把角度直接輸入了cos函數(shù)(Fortran和matlab函數(shù)都是類似的)

標(biāo)簽: