声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2751|回复: 7

[计算数学] 请教怎么样用数值方法画Duffing方程的幅频特性曲线

[复制链接]
发表于 2011-4-14 09:15 | 显示全部楼层 |阅读模式

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

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

x
请教怎么样用数值方法画Duffing方程的幅频特性曲线?
新建 Microsoft Word 文档.doc (15.5 KB, 下载次数: 14)

1.jpg
回复
分享到:

使用道具 举报

发表于 2011-4-15 11:49 | 显示全部楼层
回复 1 # 如枫 的帖子

先用数值方法解出振幅x,程序论坛里有,再绘制出频率和振幅的曲线。
 楼主| 发表于 2011-4-15 21:45 | 显示全部楼层
利用傅里叶变换求振幅这一部分程序不太清楚,
在论坛里面找到一个程序,有几个地方不明白
ff=90; %(Hz) 1/ff 表示周期
N=1024*16;
n=4; % how many period

grid=[0:N-1]';
incre= 1/ff/(N-1);  %将周期分成N-1等分,incre表示步长
t = incre*grid*n;

% plot the original signal
y=1.75*cos(2*pi*ff*t) + 2.3*sin(4*pi*ff*t)+4.3*sin(5*pi*ff*t);
figure(1);
plot(t,y);
title('Signal');
xlabel('time');
ylabel('signal');

% FFT
Y = fft(y)/N*2;
Pyy = abs(Y);

% plot the FFT
f = 1/incre*grid/n/(length(Pyy)-1); %求各阶谐波幅值?
figure(2);
plot(f(1:N/2),Pyy(1:N/2),'r')
title('Frequency content of y');
xlabel('frequency (Hz)');
ylabel('magnitude (Hz)');

1. Y = fft(y)/N*2; 这里为什么要除以N*2
2.   f = 1/incre*grid/n/(length(Pyy)-1);  横坐标频率为什么要做这样的转换?

请教高手!!!
发表于 2011-4-17 10:35 | 显示全部楼层

你这是幅值谱图程序吧?不是幅频特性图程序好像,呵呵 个人观点,不知道对错
发表于 2011-4-17 18:58 | 显示全部楼层
FFT后得到的是某一组解的幅值-频率特性,和你题目中说 的不一样吧
 楼主| 发表于 2011-4-18 10:21 | 显示全部楼层
上面的程序是和标题不一样,继续请教
怎么样用数值方法从原方程得到频幅特性曲线?
发表于 2012-3-14 10:57 | 显示全部楼层
先用傅里叶转化成级数叠加(类似y的多个简谐函数叠加),得到的结果将原程序的y替换一下就可以得到了吧,个人意见
发表于 2012-3-21 17:26 | 显示全部楼层
今天发现新的方法,发现我上面说的不妥。
将duffing方程数值解之后于将对应的数值快速值傅里叶转化。我给个例子
w=3000*pi;  
T=2*pi; ts=[0:T/512:128*T];
y=z(24577:end,1);  %取出的数值解
fs=4096; N=length(y);
zz=fft(y); zz=fftshift(zz);
f=(0:N-1)*fs/N;
plot(f,zz)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-19 09:26 , Processed in 0.081435 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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