怎样用Matlab绘FFT 图?

救助!我测了一组数据,TXT 格式,导入到Matlab后可以绘时域图,但功率谱密度的频域图怎么绘,Matlab不太熟,只想绘图,别无所求,请求高手不吝赐教详细步骤,谢谢了!

第1个回答  2012-11-23
N=10;
y=zeros(1,N);
for i=1:2*N
y(i)=2+sin(2*pi*(i/N))+2*sin(1*pi*(i/N));
%包括直流分量(幅值为2)、周期为1s的正弦分量(幅值为1)、周期为2s的正弦分量(幅值为 2)
end
fs=10;
N=20;
Xwz=abs(fft(y));
Xwz=Xwz/(N/2);
Xwz(1)=Xwz(1)/2;
w1=((1:length(Xwz(1,:))/2+1)-1)*fs/N; %w1对应频率值(Hz)
stem(w1,Xwz(1:length(Xwz(1,:))/2+1));%绘频谱幅度曲线

担保肯定好使哈,运行通过本回答被网友采纳
第2个回答  2012-11-22
function fftshu(x,fs,N)
n=0:N-1;
global f;
t=n/fs;
y=fft(x,N);
mag=abs(y);
f=n*fs/N;
plot(f(1:N/2),mag(1:N/2));
end
建立个M文件,在命令窗口输入fftshu(x(时域信号),fs(采样频率),N(信号长度))
第3个回答  2021-01-03

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

第4个回答  2014-06-03
参考答案: 学而不思则罔,思而不学则殆。——《论语》本回答被提问者采纳
第5个回答  2012-11-20
matlab有函数fft,假如时域数据为data,那频域就是fft(data)追问

我要用fft(freq,power)怎么计算频率,我的数据是时间s和幅值g(振动信号),给个公式,谢谢!

追答

freq?你到底是要做FFT还是IFFT?
"fft(X,N) is the N-point fft, padded with zeros if X has less
than N points and truncated if it has more."

相似回答