[討論] fft(x,N)warning疑惑

作者: bcpsowen (pigbull)   2018-11-09 15:24:33
小弟還是matlab新手
這邊有個比較抽象的問題
想請問各位
剛剛在使用matlab的fft(x,N)指令時
把這個指令放在function中呼叫時(N取決於輸入)
會有警告N這個變數必須是正整數
因此我在function中有先把N的直前面加上fix
可是
程式的執行時間卻上升了(tic toc來測)
當我把N直接設定為常數時(直接用自己的輸入來計算好代入N)
執行時間又快了不少
實在不太理解為何
另外
在function中的array的index使用變數(取決於輸入)
是不是會有error的風險?
因為當我不是使用function時
array為變數就都沒問題
這方面有什麼可以改善嗎?
小弟還是新手 還請各位多多指導 謝謝
作者: profyang (prof)   2018-11-09 20:46:00
第一個問題 fft在N是2的整數次方時是最快的 其實我沒看懂你麼意思 你本來可能有些因素造成你N不是正整數 但這樣fft就不能跑了吧?這樣你怎麼知道後來fix(N)之後的fft速度比較快?本來根本不能跑啊?第二個問題 使用變數時完全沒問題 但你要注意你這index一樣要是正整數就是了

Links booklink

Contact Us: admin [ a t ] ucptt.com