声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1940|回复: 0

[分形与混沌] matlab求解分岔图:Error using odearguments

[复制链接]
发表于 2013-6-19 11:27 | 显示全部楼层 |阅读模式

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

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

x
根据论坛前辈关于duffing方程分岔图的程序,自己变了一个,但是出现一些错误。错误和源程序如下、希望可以得到大家的帮助。谢谢!

Error using odearguments (line 36)
No default parameters in MASS_SPRING. Use ode45(MASS_SPRING,tspan,y0,...) instead.


Error in ode45 (line 114)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...


Error in mass_spring_bifur_k (line 20)
[t,Y]=ode45('mass_spring',tspan ,y0);



相关程序如下:
%微分方程的程序%
function dy=mass_spring(t,Y,flag,b,D,g,o,rum,cd,pf,vf)
global k v p rw I;
b=0.0028;g=9.807;o=5*pi/6;um=1.256*10^(-6);cd=0.44;pf=0.06;vf=100;rr=1.22;
D=1/4+1/(1-cos(o))-2/(1-cos(o))^2*log(2/(1+cos(o)));
dy=[y(2);(y(3)*g+um*(I^2)/4/pi*(log((3*y(3)/4/pi/p)^(1/3)*sin(o)/rw)-D)+cd*pi*((3*y(3)/4/pi/p)^(2/3)-rw^2)*pf*(vf^2)/2-b*y(2)-k*y(1))/y(3);v];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%求解分岔图的程序%
clear;
global k v  p rw I;
T1=0.1347*10^(-3);
T2=1.413*10^(-5);
le=0.026;
rw=0.8*10^(-3);
VM=p*pi*rw^2*(T1*I+T2*le*I^2);
v=VM;
range=[2.7: 0.001: 3.1];
period=2*pi./v;
kk=0;
YY1=[];
step=2*pi/500;
for a=range
  k;
kk=kk+1;
%出去前面60个周期的数据,并将最后的结果作为下一次积分的初值。
tspan=[0:step:60*period];
y0=[0 0 3e-5];
[t,Y]=ode45('mass_spring',tspan ,y0);
y0=Y(end,:);
j=1;
for i=60:200
tspan=[i*period:step:(i+1)*period];
[t,Y]=ode45(@mass_spring,tspan ,y0,options,b,D,g,o,rum,cd,pf,vf);
YY1(kk,j)=Y(end,1);
j=j+1;
%取出每一个周期内的第一个解的最后一个值。
y0=Y(end,:);
end
end
bifdata=YY1(:,end-51:end);
plot(range,bifdata,'k.','markersize',1);
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-16 04:40 , Processed in 0.099168 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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