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

看板MATLAB作者 (沒事走走...)時間15年前 (2008/10/16 21:49), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《jack0820 (我想要P幣....Orz)》之銘言: : 是這樣的 : 例如說我想要把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要用未fftshift的值算回去 即 X1=(fft(x)/1024); y=(ifft(X1)*1024); 畫出來plot (t,x,t,y)就一樣了 : y=ifftshift(ifft(X)); %把 X 做ifft並做shift : plot(t,y) %將 ifft之後的 y 對t做圖 : 畫出來之後發現是很奇怪的圖 : 不是跟預期一樣的sin波圖 : 請問這到底怎麼回事呢? @@ : PS.有用help查ifft,不過看的不是很懂加上沒有類似例子 : 所以就上來問了~ 如果程式碼打的很糟糕還請多見諒了 @@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.104.243 ※ 編輯: aquain 來自: 61.224.104.243 (10/16 21:52)

10/17 00:07, , 1F
感謝你~@@ 去試看看 ~
10/17 00:07, 1F
文章代碼(AID): #18zqPDyV (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #18zqPDyV (MATLAB)