竹语随风 发表于 2013-9-23 15:57

哪位老师能帮忙看看matlab中fft的问题。

clear
clc
j=1;
c=0.1;
Fs =100;N =1024;            % 采样频率和总的采样点数
n=0:N-1;w=n/Fs;               % 时间序列      
x0=;
for w=0:n/Fs:(N-1)/Fs
    options=odeset;options.RelTol=1e-4;
    =ode45(@crackandliner,,x0,options,c,w);
    p= sqrt((x(end-400:end,1).^2)+(x(end-400:end,3).^2));
    Pmax(j,1)=max(p);
    j=j+1;
end
y=fft(Pmax,N);         %进行fft变换
mag=abs(y);            %求得Fourier变换后的振幅
F=n*Fs/N;                %频率序列
plot(F(1:N/2),mag(1:N/2));%绘出Nyquist频率之前随频率变化的振幅
title('FFT振幅-角速度关系')
xlabel('频率/H')
ylabel('振幅')
绘制出来的图形不对,请老师帮忙指点一下哪里不对,我对快速傅立叶变换不熟,书上给的例题还能看懂,但是我这个和例题不一样,书上一般都是x关于t的函数,我这个是每一个振幅pmax关于转速w的函数。

竹语随风 发表于 2013-9-23 17:19

其实有点急

江树空 发表于 2013-9-23 17:50

=ode45(@crackandliner,,x0,options,c,w);
你那个@crackandliner具体是什么?

竹语随风 发表于 2013-9-26 09:44

江树空 发表于 2013-9-23 17:50 static/image/common/back.gif
=ode45(@crackandliner,,x0,options,c,w);
你那个@crackandliner具体是什么?

@crackandliner就是要调用的一阶微分方程

ChaChing 发表于 2013-9-26 13:15

1.求助完整格式:出错代码和出错提示! 不完整容易造成别人不方便
2.此帖应为先前那帖的延续, 感觉好像没必要开新主题!?
http://forum.vibunion.com/thread-128402-1-1.html
3.既然pmax已是相对每一转速w的最大振幅, 为何还需fft? 水平有限, 实在不懂
页: [1]
查看完整版本: 哪位老师能帮忙看看matlab中fft的问题。