2015-10-18 57 views
0

我試圖將2D數據集讀入矩陣,繪製矩陣,以及繪製矩陣的ifft。數據是128x2數據集,頻率在第一列(A)與第二列(B)的幅度相關。IFFT Matlab,從給定數據繪製2D函數的正確ifft的難度

不幸的是,繪製數據矩陣並不是繪製正確的波形圖。此外,盜賊似乎也是不正確的。

waves = csvread('10cm.txt'); A =波(:,1); A =波(A,B,B)。 B = abs(波(:,2));

Matrix = [A B];

waves_transform = abs(ifft2(waves));

figure,plot(waves); figure,plot(waves_transform)

當我在數據的每一列中讀取並繪製A vs B時,數據的波形是正確的,但數據的ifft2不正確。我需要適當地對已讀入的二維數據進行逆傅立葉變換。

waves = csvread('10cm.txt'); A =波(:,1); A =波(A,B,B)。 B = abs(波(:,2));

Matrix = [A B];

waves_transform = abs(ifft2(Matrix));

figure,plot(A,B); 人物,情節(waves_transform)

waves & waves_transform

有誰知道爲什麼讀取數據,並繪製它比讀取每一列和繪圖它會導致不同的圖表有什麼不同?另外,任何人都可以幫助我正確地採集2D數據的ifft?

10cm.txt數據文件的位置:http://pastebin.com/0t0TwVvC

+0

第二行中的拼寫錯誤是弗洛伊德語滑倒嗎? – Sleepyhead

+0

哪個錯字?在分配變量A和B的行中?數據性別爲 – cecchollett

+0

。無論如何,兩個代碼片段看起來很相似。我的猜測,嘗試轉置矩陣,'陰謀(轉置(波))' – Sleepyhead

回答

0

根據MATLAB文檔,如果你做plot(Y)Y是一個矩陣,然後積函數繪製的Y列與它們的行數。 x軸尺度範圍從1到中行Y.數量

所以,你的情況,你必須做的:

plot(waves(:,1), waves(:,2))

也許我也建議一個自由和IMO更好numpy包for python

+0

現在更有意義了,謝謝澄清! python會比matlab更好地處理傅里葉變換嗎? – cecchollett

+0

'python'將處理所有事情,還有更多的庫+它是免費的。查看http://matplotlib.org/gallery.html – Sleepyhead