马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我想求一个四元一阶的微分方程,但我需要改变积分步长,试着改了一下,不行.是不是方法不对?请高手指点!
下面是我的程序:
function xdot=rossler1(t,x,flag,a,b,c,d)
xdot=[-x(2)-x(3);
x(1)+a*x(2)+x(4);
b+x(1)*x(3);
c*x(4)-d*x(3)];
function data=rossler(length)
a=0.25;
b=3.0;
c=0.05;
d=0.5; %a,b,c,d为Rossler-hyperchaos的四个参数
h=0.1; %h为积分时间步长
k1=100; %k1为前面迭代的点数
t_final=(k1+length)*h; %t_final为积分的终点时刻
options=odeset;
options.MaxStep=h; %将求解方程最大允许的步长设置为h
x0=[1;1;0.5;0.5]; %初始值
[t,x]=ode45('rossler1',[0,t_final],x0,options,a,b,c,d);
plot(t,x);
data=x(k1+1:end,1)'; |