Matlab 起始条件应为0,洛伦兹系统

Matlab 起始条件应为0,洛伦兹系统,matlab,numeric,infinity,Matlab,Numeric,Infinity,我想绘制洛伦兹系统(s=10,r=28,b=8/3)的起始条件,该条件应为0,因为它是由v1和v2跨过临界点(0,0,0)的平面内的起始条件(平面方程:-x+(-9-\sqrt(1201))/56*y=0)当我使用Runge-Kutta方法绘制以(-9-sqrt(1201))/56,1,10为起始条件的解时,我的图不会收敛到0,我不知道为什么 [X,Y,Z,T] = Runge(T0,(-9-sqrt(1201))/56,1,10,h,1000); plot(T,X); plot(T,Y);

我想绘制洛伦兹系统(s=10,r=28,b=8/3)的起始条件,该条件应为0,因为它是由
v1
v2
跨过临界点(0,0,0)的平面内的起始条件(平面方程:
-x+(-9-\sqrt(1201))/56*y=0
)当我使用Runge-Kutta方法绘制以(-9-sqrt(1201))/56,1,10为起始条件的解时,我的图不会收敛到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)σ*(y-x);
G=@(x,y,z)x*(rho-z)-y;
H=@(x,y,z)x*y-beta*z;
前两个方程的任何非平凡线性组合都不依赖于
z
,这将需要仅在
x
y
中获得不变表达式

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

洛伦兹系统是混沌的
除此之外,您的观察是正确的,浮点错误累积会使数值解偏离精确解及其任何属性。

如果不知道
Runge
的作用,这是不可能回答的。在
Runge
F
G
,和
H
是未定义的,所以我很惊讶你的代码竟然运行。F、G和H是函数,系统中的函数