声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1575|回复: 4

[编程技巧] 哪位老师能帮忙看看matlab中fft的问题。

[复制链接]
发表于 2013-9-23 15:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
clear
clc
j=1;
c=0.1;
Fs =100;N =1024;              % 采样频率和总的采样点数
n=0:N-1;w=n/Fs;               % 时间序列      
x0=[0.01;0.01;0.01;0.01];
for w=0:n/Fs:(N-1)/Fs
    options=odeset;options.RelTol=1e-4;
    [t,x]=ode45(@crackandliner,[0,500],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 | 显示全部楼层
[t,x]=ode45(@crackandliner,[0,500],x0,options,c,w);
你那个@crackandliner具体是什么?
 楼主| 发表于 2013-9-26 09:44 | 显示全部楼层
发表于 2013-9-26 13:15 | 显示全部楼层
1.求助完整格式:出错代码和出错提示! 不完整容易造成别人不方便
2.此帖应为先前那帖的延续, 感觉好像没必要开新主题!?
http://forum.vibunion.com/thread-128402-1-1.html
3.既然pmax已是相对每一转速w的最大振幅, 为何还需fft? 水平有限, 实在不懂
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 14:02 , Processed in 0.056502 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表