0
賦值爲:重置存儲在矩陣中的值,以使它們位於此範圍內[-pi,pi]。注意不要使用任何非標準的Matlab函數來執行此操作。在matlab中收斂值範圍[-pi,pi],不使用wraptopi
(當然是所有角度THETA + 2N * PI是相同的,對於任何整數n因此例如:1.5的角度* PI應被重置爲-0.5 * PI)
非標準matlab函數wraptopi這樣做(我認爲),但我不允許使用這個函數。 我有這種感覺,我可以使用模來做到這一點,但我不知道如何。
任何人都可以幫助我嗎?
在此先感謝
模會工作。當你想換行到一個不以零[0 ... N)開始的範圍時,你可以添加一個偏移量,做模數運算,然後再次減去偏移量。 – 2014-11-23 20:11:39
非常感謝!我快到了。然而,當我比較我的結果和wraptopi做什麼,我的價值觀是對avarage有點大...... 這是我做過什麼: %與基質d **偏移= MAX(最大啓動關閉( d(:,:))); ** %確定偏移:我走矩陣 ** D_with_offset = d +偏移的最大值; ** %添加偏移 ** D_mod = MOD( D_with_offset,(2 * PI)); ** %取所有值的模,與2PI ** D_back_within_range = D_mod-π; ** %消除失調再次 莫非小號omeone告訴我這是哪裏出錯? – rasa 2014-11-23 21:08:57
你的偏移量應該是'pi',而不是矩陣的最大值。在最後減去相同的值。 – 2014-11-23 21:20:12