[問題] ifft轉不回來?已回收

看板MATLAB作者 (我想要P幣....Orz)時間16年前 (2008/10/16 17:35), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
是這樣的 例如說我想要把sin波作fft 再對頻率f做圖的話應該可以得到sin波的fft頻譜圖 照理說如果我對fft之後的sin波做ifft這個動作之後 應該會得到原本的sin波才對 不過我不知道哪裡做錯或哪裡想錯了 @@" 能請大家幫我解惑一下嗎? 下面是我用sin波作的範例: t=linspace(-2,2,1024); %在時域-2~2間取1024個點 x=sin(2*pi*t); % x是一個sin波 X=fftshift(fft(x)/1024); % 把x做fft轉換 f=linspace(-128,128,1024); % f是我要取的頻率區間 plot(f,abs(X)) %此圖為sin的fft轉換對頻率f的做圖 (取絕對值) 到這邊都沒有問題 y=ifftshift(ifft(X)); %把 X 做ifft並做shift plot(t,y) %將 ifft之後的 y 對t做圖 畫出來之後發現是很奇怪的圖 不是跟預期一樣的sin波圖 請問這到底怎麼回事呢? @@ PS.有用help查ifft,不過看的不是很懂加上沒有類似例子 所以就上來問了~ 如果程式碼打的很糟糕還請多見諒了 @@" -- 如果愛情能像物理,我將不再困惑於迷惘 如果物理能解迷情,為了妳,我願意苦讀物理 by 陳碩物理~=.= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.120.70

10/16 21:32, , 1F
記得要做 fftshift
10/16 21:32, 1F
文章代碼(AID): #18zmhvxL (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #18zmhvxL (MATLAB)