分数阶混沌系统的仿真程序
- 格式:docx
- 大小:20.31 KB
- 文档页数:2
分数阶混沌仿真程序,以chen系统为例,其他系统只需修改相应的外部函数。
------------------------------------------------------------------------------------
function fra_chaos_pro(x,t,q)%x为初值,t为运行时间,q为分数阶数
h=0.01;%步长
N=t/h;%运行步数
l=length(x);%变量维数
y=zeros(l,N+1);
y1=zeros(l,N+1);
M1=zeros(l,1);
N1=zeros(l,1);
%预估校正法,fra_chaos_fun外部函数
y1(:,1)=x'+h.^q'.*fra_chaos_fun(t,x)'./(gamma([q']).*q');
y(:,1)=x'+h.^q'.*(fra_chaos_fun(t,y1(:,1))+q'.*fra_chaos_fun(t,x)')./gamma(q'+2);
for n=1:N;
M1=(n.^(q'+1)-(n-q').*(n+1).^q').*fra_chaos_fun(t,x)';
N1=((n+1).^q'-n.^q').*fra_chaos_fun(t,x)';
for j=1:n;
M1=M1+ ((n-j+2).^(q'+1)+(n-j).^(q'+1)-2*(n-
j+1).^(q'+1)).*fra_chaos_fun(t,y(:,j));N1=N1+((n-j+1).^q'-(n-
j).^q').*fra_chaos_fun(t,y(:,j));
end
y1(:,n+1)=x'+h.^q'.*N1./(gamma(q').*q');
y(:,n+1)=x'+h.^q'.*(fra_chaos_fun(t,y1(:,n+1))+M1)./gamma(q'+2); end
%作图
figure
plot(y(1,:),y(2,:))
xlabel('x');ylabel('y');
figure
plot3(y(1,:),y(2,:),y(3,:))
figure
plot(0:h:h*N,y(1,:),'r-')
end
%运行fra_chaos_pro([0 2 3],2,[0.98 0.98 0.98])
function xp=fra_chaos_fun(t,x)
xp=x;
%分数阶chen系统
a=35;b=3;c=28;
xp(1)=a*(x(2)-x(1));
xp(2)=(c-a)*x(1)-x(1)*x(3)+c*x(2);
xp(3)=x(1)*x(2)-b*x(3);