马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
最近在搞分数阶,只是matlab学得不怎么样,所以,很多问题搞不定,请高手指点
n=3500;x=zeros(n+1,4);
x(1,1)=0;x(1,2)=5;x(1,3)=8;x(1,4)=10;q1=0.95;q2=0.95;q3=0.95;a=35;b=3;c=28;h=0.01;
m=1;r=1;w=1;xx(1,2)=5;xx(1,3)=8;xx(1,4)=10;kk1=1.8;kk2=0;kk3=0;tau1=0.45;tau2=0;tau3=0;
for i=2:n+1
x(i,1)=x(i-1,1)+h;
k1=0;
for j=0:i-2
k1=k1+1/gamma(q1)*h^q1/q1*[(i-j-1)^q1-(i-j-2)^q1]*(a*[x(j+1,3)-x(j+1,2)]+kk1*(x(j+1,2)-xx(j+1,2)));
end
k1=k1+x(1,2);
k2=0;
for j=0:i-2
k2=k2+1/gamma(q2)*h^q2/q2*[(i-j-1)^q2-(i-j-2)^q2]*([(c-a)*x(j+1,2)-x(j+1,4)*x(j+1,2)+c*x(j+1,3)]+kk2*(x(j+1,3)-xx(j+1,3)));
end
k2=k2+x(1,3);
k3=0;
for j=0:i-2
k3=k3+1/gamma(q3)*h^q3/q3*[(i-j-1)^q3-(i-j-2)^q3]*([x(j+1,2)*x(j+1,3)-b*x(j+1,4)]+kk3*(x(j+1,4)-xx(j+1,4)));
end
k3=k3+x(1,4);
k4=0;
for j=0:i-2
if j==0
z=(i-2)^(q1+1)-(i-2-q1)*(i-1)^q1;
else
z=(i-j)^(q1+1)+(i-j-2)^(q1+1)-2*(i-j-1)^(q1+1);
end
k4=k4+z*(a*[x(j+1,3)-x(j+1,2)]+kk1*(x(j+1,2)-xx(j+1,2)));
end
k5=0;
for j=0:i-2
if j==0
z=(i-2)^(q2+1)-(i-2-q2)*(i-1)^q2;
else
z=(i-j)^(q2+1)+(i-j-2)^(q2+1)-2*(i-j-1)^(q2+1);
end
k5=k5+z*([(c-a)*x(j+1,2)-x(j+1,4)*x(j+1,2)+c*x(j+1,3)]+kk2*(x(j+1,3)-xx(j+1,3)));
end
k6=0;
for j=0:i-2
if j==0
z=(i-2)^(q3+1)-(i-2-q3)*(i-1)^q3;
else
z=(i-j)^(q3+1)+(i-j-2)^(q3+1)-2*(i-j-1)^(q3+1);
end
k6=k6+z*([x(j+1,2)*x(j+1,3)-b*x(j+1,4)]+kk3*(x(j+1,4)-xx(j+1,4)));
end
x(i,2)=x(1,2)+h^q1/gamma(q1+2)*[a*(k2-k1)+k4];
x(i,3)=x(1,3)+h^q2/gamma(q2+2)*[(c-a)*k1-k1*k3+c*k2+k5];
x(i,4)=x(1,4)+h^q3/gamma(q3+2)*(k1*k2-b*k3+k6);
if x(i,1)<=tau1
xx(i,2)=x(i,2);
m=m+1;
else
xx(i,2)=x(i-m,2);
end
if x(i,1)<=tau2
xx(i,3)=x(i,3);
r=r+1;
else
xx(i,3)=x(i-r,3);
end
if x(i,1)<=tau3
xx(i,4)=x(i,4);
w=w+1;
else
xx(i,4)=x(i-w,4);
end
end
Y=x(500:3500,2:4);
l=lyapunovdelay(1e-2,Y)
??? Undefined function or method 'lyapunovdelay' for input arguments of type 'double'.
|