在MATLAB中,可以使用fft函數來對已有數據進行頻譜圖繪制。具體步驟如下:
X = fft(x);
N = length(x);
f = (-N/2:N/2-1)*(1/N);
f = fftshift(f);
absX = abs(X);
plot(f, absX);
或stem(f, absX);
可以根據需要進行其他繪圖設置,比如添加標題、坐標軸標簽等。完整的代碼示例:
% 已有數據示例
x = [1, 2, 3, 4, 5, 4, 3, 2, 1];
% 計算傅里葉變換
X = fft(x);
% 計算頻率軸
N = length(x);
f = (-N/2:N/2-1)*(1/N);
f = fftshift(f);
% 計算幅度譜
absX = abs(X);
% 繪制頻譜圖
plot(f, absX);
title('頻譜圖');
xlabel('頻率');
ylabel('幅度');
運行以上代碼,即可得到已有數據的頻譜圖。