?? lozi.m
字號:
function newx=Lozi(x);
% Lozi方程[差分方程]
%newx=Lozi([x;y;p;q]);
% 方程如下:
x(k+1)=-p*x(k)+y(k)+1
y(k+1)=q*x(k)
X=[1;0;1.7;.5];Y=[];
for i=1:1000
X=feval(@Lozi,X);
Y(i,:)=X(1:2,1);
end
plot(Y(:,1),Y(:,2),'.');
title('Lozi映射圖'),xlabel('x'),ylabel('y')%
% Example(分岔圖):
Z=[];
for p=linspace(0,1.7,300);
x=[1;0;p;.5];
for k=1:300;
x=Lozi(x);
if k>60
Z=[Z,p+x(1)*i];
end
end
end
plot(Z,'.','markersize',1)
title('Lozi映射分岔圖'),xlabel('p'),ylabel('x')
%% Example(最大Lyapunov指數譜圖):
%
d0=1e-8;
Z=[];
for p=linspace(0,1.7,300)
le=0;
lsum=0;
x=[1;0;p;.5];
x1=[1;d0;p;.5];
for k=1:800
x=Lozi(x);
x1=Lozi(x1);
d1=sqrt((x(1)-x1(1))^2+(x(2)-x1(2))^2);
x1=x+(d0/d1)*(x1-x);
if k>100
lsum=lsum+log(d1/d0);
end
end
le=lsum/(k-100);
Z=[Z,p+le*i];
end
plot(Z,'-')
title('Lozi最大Lyapunov指數圖'),xlabel('p'),ylabel('lyapunov')
grid on
%% Author:yujunjie
% Author's email: ustb03-07@yahoo.com.cn
newx(1,1)=-x(3)*abs(x(1))+x(2)+1;
newx(2,1)=x(4)*x(1);
newx(3,1)=x(3);
newx(4,1)=x(4);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -