【问题标题】:beginconditions should give 0, Lorentz system开始条件应为 0,洛伦兹系统
【发布时间】:2020-02-23 01:59:23
【问题描述】:

我想绘制洛伦兹系统 (s=10, r=28, b=8/3) 的起始条件,它应该给出 0,因为它是由 v1v2 跨越的平面中的起始条件并通过临界点 (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

【问题讨论】:

  • 如果不知道Runge 做了什么,这是不可能回答的。
  • RungeFGH 中未定义,所以我很惊讶你的代码甚至可以运行。
  • F、G、H是函数,系统中的函数

标签: matlab numeric infinity


【解决方案1】:

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

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

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 中获得不变表达式。

线性化的不变子空间接近于稳定流形和不稳定流形,但又不相同。因此,如果您在线性化的某个不变子空间上,实际上您距离与非线性系统相关的任何弯曲子流形都有一段距离,并且数值解和精确解都会向混沌吸引子移动。

洛伦兹系统是混乱的

除了您的观察是正确的之外,浮点误差累积会导致数值解远离精确解及其任何属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多