求教duffing方程的程序
Huang的论文中提到了用HHT来分析duffing方程。我实验了一下,但求出来的duffing方程数值解跟他的图不一样。很郁闷,不知道问题出在哪,请教各位。我的程序:
function ydot=duffing(t,y,sigma,gama,omiga)
if nargin<3
sigma=-1;
gama=0.1;
omiga=1/25;
end
ydot=;
yo=;
tspan=linspace(0,50,1000);
=ode45(@duffing,tspan,yo);
plot(t,y(:,1),t,y(:,2),'r');
谢谢了。 Huang的哪篇论文?请指明。 The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis
Received 3 June 1996; accepted 4 November 1996
回复 #3 playfish 的帖子
这篇文章在哪里被收录,我怎么找不到呀 文章上说是The Royal Society,Printed in Great Britain。 同志们还是先帮我看看程序有哪些问题吧。duffing方程的模拟数据在黄大吉的那篇镜像延拓的文章里也有。 楼主duffing方程定义有问题,其实程序很简单:function dx=duffing1(t,X)
%对应huang98的p47的duffing振子
x1=X(1);
x2=X(2);
dx=zeros(2,1);
dx(1)=x2;
dx(2)=x1-x1.^3+0.1*cos(2*pi/25*t);%原文献中的参数有问题,x的立方项前的系数应该为+1,而非文献中的-1
x0=;
tspan=;
=ode45('duffing1',tspan,x0);
subplot(311);plot(x(:,1));
subplot(312);plot(x(:,2));
subplot(313):plot(x(:,1),x(:,2));
回复 #1 playfish 的帖子
这个程序,我运行了一下!怎么这样???? Input argument "y" is undefined.
Error in ==> duffing at 7
ydot=;
回复 #8 jingrenzhi 的帖子
程序写错了,y不是那么定义的。参考7楼。回复 #1 playfish 的帖子
7楼的方法可以。%%%%%%%%%%%%%
没有必要加
if nargin<3
sigma=-1;
gama=0.1;
omiga=1/25;
end
回复 #9 zhlong 的帖子
7楼的x 的定义,也不是太对呀?是不是?回复 #11 jingrenzhi 的帖子
什么地方不对?运行没问题,结果看起来也还正确。回复 #12 zhlong 的帖子
我运行了一下,怎么错了?你把你运行的程序,贴上来!我运行一下看看!回复 #13 jingrenzhi 的帖子
7楼第一个是方程,第二个就是主程序,全在那儿了,应该毛问题的。[ 本帖最后由 zhlong 于 2007-10-25 21:33 编辑 ]
回复 #14 zhlong 的帖子
哦!我再看看!你帮忙看看!这个贴子里的问题!谢谢!"请教:PSD曲线变化剧烈说明什么?"
页:
[1]
2