作业帮 > 综合 > 作业

matlab fft变换求出频谱后,求具体点的幅值的问题

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/16 02:53:02
matlab fft变换求出频谱后,求具体点的幅值的问题

程序如下

 fs=250;

N=1024;

n=0:N-1;

t=n/fs;

y=fft(x(:,1),N);

mag=abs(y);

f=n*fs/N;

plot(f,mag);

set(gca,'xtick',0:10:250)

由原始常微分方程的结果进行fft变换,求得频谱如下图:

我想求得频谱图中20,40,60,80,100,120hz处的幅值,然后求他们的比值,我该如何编写程序呢?望大神指教.


matlab fft变换求出频谱后,求具体点的幅值的问题
你的mag中保存的就是幅值信息,你可以算一下频率对应的点,然后取该带点的值
比如 mag(20)应该就是,如果不是,看看是不是20-1 或20+1的点
再问: 我试过了,结果
mag(20)

ans =

0.0720

>> mag(19)

ans =

0.0317

>> mag(21)

ans =

0.0262
似乎幅值和图像中是不是对应的...........这该怎么解释呢?急求........
再答: 直接查看一下mag中的数据,看看最大值对应的坐标分别是多少