matlab怎么绘制出功率谱

问题描述:

matlab怎么绘制出功率谱
t=a(:,1);%%%%t是时间;
yt=a(:,2);%%%%yt是数据;
dt=t(2)-t(1);%%%%dt是点距;
lt=length(t);%%%%是数据的长度;
f0=2*pi/lt;%%%%f0是基频;
fy=fft(yt);%%%%fy是fft变换得到的波谱;
for i=1:1:lt
f(i)=f0*(i-1);%%%%f是频率;
P(i)=abs(fy(i))^2;%%%P是功率谱;
end
plot(f,P); %%%%画图;
频率咋那么小
1个回答 分类:综合 2014-09-30

问题解答:

我来补答
t=a(:,1);%%%%t是时间;
yt=a(:,2);%%%%yt是数据;
dt=t(2)-t(1);%%%%dt是点距;
lt=length(t);%%%%是数据的长度;
f0=2*pi/(lt*dt);%%%%f0是基频;
fy=fft(yt);%%%%fy是fft变换得到的波谱;
for i=1:1:lt
f(i)=f0*(i-1);%%%%f是频率;
P(i)=abs(fy(i))^2;%%%P是功率谱;
end
plot(f,P); %%%%画图;
f的单位是秒分之一.就是频率.
P是没有单位的,就是振幅大小.如果有那是yt单位的平方.
再问: 那我x轴和y轴怎么标注
再答: xlabel('x/s^-1');ylabel(‘y/振幅');
 
 
展开全文阅读
剩余:2000
上一页:pass..
下一页:复合函数求值域