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变换,求得频谱如

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 18:05:47

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变换,求得频谱如
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变换求出频谱后,求具体点的幅值的问题程序如下 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变换,求得频谱如
你的mag中保存的就是幅值信息,你可以算一下频率对应的点,然后取该带点的值
比如 mag(20)应该就是,如果不是,看看是不是20-1 或20+1的点