% 第一个程序:lorenzfun.m
function dy=lorenzfun(t,y)
p=10
r=28
b=8/3
%p=16
%b=4.0
%r=45.92
dy=zeros(3,1)
dy(1,:)=p*(-y(1)+y(2))
dy(2,:)=r*y(1)-y(2)-y(1)*y(3)
dy(3,:)=y(1)*y(2)-b*y(3)
% 第一个程序:lorenztest.m
[t,yy]=ode45('lorenzfun',[0:0.01:100],[-1
0 1]) %模拟t=0~100步长0.01的10001个点,初值[-1
01]
x=yy(:,1)
y=yy(:,2)
z=yy(:,3)
figure(1)
plot3(x,y,z)
xlabel('x(t)'),ylabel('y(t)'),zlabel('z(t)')
title('Lorenz吸引子图')
x=x(1001:end)%抛弃前面的一些点
你在matlab下运行lorenztest看看能不能找到点感觉
只有 用matlab写的两次同步的误差系统的模拟图像。function y=wuchaxitong(t,x)
a=35b=4c=25d=5e=35f=100
k1=1277k2=1388k3=55k4=1
y=zeros(8,1)
y(1)=a*((x(2)-x(6))-(x(1)-x(5)))+e*(x(2)-x(6))*(x(3)-x(7))+(x(3)-x(7))+e*(x(2)-x(6))*x(7)+e*x(6)*(x(3)-x(7))-k1*(x(1)-x(5))
y(2)=c*(x(1)-x(5))-d*(x(1)-x(5))*(x(3)-x(7))-d*x(5)*(x(3)-x(7))-d*x(7)*(x(1)-x(5))-(x(2)-x(6))+(x(4)-x(8))-k2*(x(2)-x(6))
y(3)=(x(1)-x(5))*(x(2)-x(6))+(x(1)-x(5))*x(6)+x(5)*(x(2)-x(6))-b*(x(3)-x(7))-k3*(x(3)-x(7))
y(4)=-f*(x(2)-x(6))-(k4+1)*(x(4)-x(8))
tspan=[0:0.001:4]%求解时间为2秒也可以 tspan=[0 2]表示自动时间步长
x0=[-130210-340.26]%初值
[T,Y]=ode45('wuchaxitong',tspan,x0)%用龙格库塔法求解
subplot(4,1,1),plot(T,Y(:,1)),xlabel('t/s'),ylabel('e1')
subplot(4,1,2),plot(T,Y(:,2)),xlabel('t/s'),ylabel('e2')
subplot(4,1,3),plot(T,Y(:,3)),xlabel('t/s'),ylabel('e3')
subplot(4,1,4),plot(T,Y(:,4)),xlabel('t/s'),ylabel('e4')
上面的是误差系统,下面的是画的误差系统的图像,不知道是不是你需要的,我做的是四维的系统
matlab命令如下:global x
global y
global k
y=1
x=1
p=plot(x,y,'.','EraseMode','none','MarkerSize',3)
axis([0 2 -2 2])
hold on
for x=1:200
for k=1:500
y=1-x*y*y/100set(p,'Xdata',x/100,'Ydata',y)
drawnow
set(p,'Xdata',x/100,'Ydata',y)
drawnow
end
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)