看板 MATLAB 關於我們 聯絡資訊
大家好 在下剛學Matlab不久 有點問題想請教大家 最近要使用到用一串離散的偶函數點進行fft轉換 預期得到的結果為只有實部的部分 但真正得到結果卻都會出現虛部 例如: a = [1 2 3 4 5 4 3 2 1]; A = fft(a); 結果A會有複數 但是如果是: a = [1 2 3 4 5 4 3 2]; A = fft(a); 這樣得到A的結果就不會有複數的部分 另外如果我的資料點更多(ex:1000點) 則得到的結果都會有複數出現 這是為什麼呢??? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.13.117 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1471093849.A.65F.html
sunev: help fft 看一下phase的定義 08/13 22:54
mp19990920: 第1個有9個元素,固N=16,補7個0,非對稱 08/14 16:13
YoursEver: 原po應留意fft的演算法是八個點為單位計算,在點數不是 08/15 01:58
YoursEver: 8k個點的狀況下,請直接照dft的公式另寫function. 08/15 02:01
sunev: matlab 的fft可補點可不補點,偶函數不會轉出複數和點數 08/15 16:31
sunev: 無關吧? 08/15 16:31
buttleliu: DFT第一點是原點,case1原點左1右2不對稱自然有虛數 08/15 23:00