📄 fractional.m
字号:
function fractional_chaos_q
clc;
Dim=3;q=[1;1;0.40;];
h=0.005;t=0:h:100;N=length(t)-1;
x0=[0.123 0.1451 0.453]';
x(:,1)=x0;
a=zeros(Dim,N);b=zeros(Dim,N+1);
T1=(h.^q./q)./gamma(q);
T2=(h.^q)./gamma(q+2);
for n=1:N
for m=1:Dim
a(m,N+1-n)=(n+1)^(q(m)+1)+(n-1)^(q(m)+1)-2*n^(q(m)+1);
b(m,N+1-n)=(n+1)^q(m)-n^q(m);
a0(m,n+1)=n^(q(m)+1)-(n-q(m))*(n+1)^q(m);
end
end
b(:,N+1)=1;a0(:,1)=q;
for n=0:N
OUT1(:,n+1)=fx(x(:,n+1));
if(n==0) sum2=a0(:,n+1).*fx(x0);
else sum2=sum(a(:,N+1-n:end).*OUT1(:,2:n+1),2)+a0(:,n+1).*fx(x0); end
sum1=sum(b(:,N+1-n:end).*OUT1(:,1:n+1),2);
xp=x0+T1.*sum1;
x(:,n+2)=x0+T2.*fx(xp)+T2.*sum2;
if(mod(n,100)==0) disp([x(:,n+2)' n/N]); end
end
save CXF.mat x
figure,plot(x(1,:),x(2,:))
xlabel('x'),ylabel('y')
%figure,plot(x(1,:),x(3,:))
%xlabel('x'),ylabel('z')
%figure,plot(x(2,:),x(3,:))
%xlabel('y'),ylabel('z')
%figure,plot3(x(3,:),x(1,:),x(2,:))
%xlabel('z'),ylabel('x'),zlabel('y')
function DX=fx(X)
x(1)=X(1);x(2)=X(2);x(3)=X(3);
a=35;b=3;c=27;
DX=[a*(x(2)-x(1));
(c-a)*x(1)-x(1)*x(3)+c*x(2);
x(1)*x(2)-b*x(3);];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -