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

看板MATLAB作者 (pigbull)時間6年前 (2018/11/09 15:24), 編輯推噓1(105)
留言6則, 1人參與, 6年前最新討論串1/1
小弟還是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://www.ptt.cc/bbs/MATLAB/M.1541748276.A.C24.html

11/09 20:46, 6年前 , 1F
第一個問題 fft在N是2的整數次方時是最快的 其實我沒看
11/09 20:46, 1F

11/09 20:46, 6年前 , 2F
懂你麼意思 你本來可能有些因素造成你N不是正整數 但這
11/09 20:46, 2F

11/09 20:47, 6年前 , 3F
樣fft就不能跑了吧?這樣你怎麼知道後來fix(N)之後的fft
11/09 20:47, 3F

11/09 20:47, 6年前 , 4F
速度比較快?本來根本不能跑啊?
11/09 20:47, 4F

11/09 20:49, 6年前 , 5F
第二個問題 使用變數時完全沒問題 但你要注意你這index
11/09 20:49, 5F

11/09 20:49, 6年前 , 6F
一樣要是正整數就是了
11/09 20:49, 6F
文章代碼(AID): #1RvJOqma (MATLAB)
文章代碼(AID): #1RvJOqma (MATLAB)