开始条件应该给出0,洛伦兹系统



我想为一个应该给出0的起始条件绘制洛伦兹系统(s=10,r=28,b=8/3(,因为它是由v1v2跨越的平面中的一个起始条件,并通过临界点(0,0,0((平面方程:-x + (-9- sqrt(1201))/56 * y = 0(我不知道为什么。

[X,Y,Z,T] = Runge(T0,(-9-sqrt(1201))/56,1,10,h,1000);
plot(T,X);
plot(T,Y);
plot(T,Z);

我希望有一个解决方案,其中绘图中的行变为0。但我得到了一些随机函数,它一直在上下波动。

这可能是近似引起的吗?

提前感谢

这是Runge 的功能

function [X,Y,Z,T] = Runge(t0,x0,y0,z0,h,n)
X=[x0];
Y=[y0];
Z=[z0];
T=[t0];
k1x = 0;
k1y = 0;
k1z = 0;
k2x=0;
k2y=0;
k2z=0;
k3x=0;
k3y=0;
k3z=0;
k4x=0;
k4y=0;
k4z=0;
for k = 1:n
T(k+1)= T(k) +h;
k1x = F(X(k),Y(k),Z(k));
k1y = G(X(k),Y(k),Z(k));
k1z = H(X(k),Y(k),Z(k));
k2x = F(X(k)+h/2*k1x,Y(k) + h/2*k1y, Z(k) + h/2*k1z);
k2y= G(X(k)+h/2*k1x,Y(k) + h/2*k1y, Z(k) + h/2*k1z);
k2z= H(X(k)+h/2*k1x,Y(k) + h/2*k1y, Z(k) + h/2*k1z);
k3x= F(X(k)+h/2*k2x,Y(k)+h/2*k2y,Z(k) + h/2*k2z);
k3y=G(X(k)+h/2*k2x,Y(k)+h/2*k2y,Z(k) + h/2*k2z);
k3z=H(X(k)+h/2*k2x,Y(k)+h/2*k2y,Z(k) + h/2*k2z);
k4x= F(X(k)+h*k3x,Y(k)+h*k3y,Z(k)+h*k3z);
k4y=G(X(k)+h*k3x,Y(k)+h*k3y,Z(k)+h*k3z);
k4z=H(X(k)+h*k3x,Y(k)+h*k3y,Z(k)+h*k3z);
X(k+1) = X(k) + h/6 * (k1x + 2*k2x + 2*k3x + k4x);
Y(k+1) = Y(k) + h/6 * (k1y + 2*k2y + 2*k3y + k4y);
Z(k+1) = Z(k) + h/6 * (k1z + 2*k2z + 2*k3z + k4z);    
end
end

非线性系统没有这样的平面

为什么你认为这个平面是不变的?在系统中

F=@(x,y,z) sigma*(y-x);
G=@(x,y,z) x*(rho-z)-y;
H=@(x,y,z) x*y-beta*z;

前两个方程的任何非平凡线性组合都不独立于z,这将需要仅在xy中得到不变量表达式。

线性化的不变子空间靠近稳定流形和不稳定流形,但它们并不完全相同。所以,如果你在线性化的某个不变子空间上,你实际上离任何与非线性系统相关的弯曲子流形都有一段距离,数值解和精确解都会向混沌吸引子移动。

洛伦兹系统是混沌的

除此之外,你的观察是正确的,浮点误差的积累会使数值解远离精确解及其任何性质

最新更新