作者bcpsowen (pigbull)
看板MATLAB
標題[討論] fft(x,N)warning疑惑
時間Fri Nov 9 15:24:33 2018
小弟還是matlab新手
這邊有個比較抽象的問題
想請問各位
剛剛在使用matlab的fft(x,N)指令時
把這個指令放在function中呼叫時(N取決於輸入)
會有警告N這個變數必須是正整數
因此我在function中有先把N的直前面加上fix
可是
程式的執行時間卻上升了(tic toc來測)
當我把N直接設定為常數時(直接用自己的輸入來計算好代入N)
執行時間又快了不少
實在不太理解為何
另外
在function中的array的index使用變數(取決於輸入)
是不是會有error的風險?
因為當我不是使用function時
array為變數就都沒問題
這方面有什麼可以改善嗎?
小弟還是新手 還請各位多多指導 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.100
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1541748276.A.C24.html
1F:推 profyang: 第一個問題 fft在N是2的整數次方時是最快的 其實我沒看 11/09 20:46
2F:→ profyang: 懂你麼意思 你本來可能有些因素造成你N不是正整數 但這 11/09 20:46
3F:→ profyang: 樣fft就不能跑了吧?這樣你怎麼知道後來fix(N)之後的fft 11/09 20:47
4F:→ profyang: 速度比較快?本來根本不能跑啊? 11/09 20:47
5F:→ profyang: 第二個問題 使用變數時完全沒問題 但你要注意你這index 11/09 20:49
6F:→ profyang: 一樣要是正整數就是了 11/09 20:49