начало условия должно дать 0, система Лоренца - PullRequest
0 голосов
/ 27 октября 2019

Я хочу построить систему Лоренца (s = 10, r = 28, b = 8/3) для условия запуска, которое должно давать 0, поскольку это условие запуска в плоскости, охватываемой v1 и v2и через критическую точку (0,0,0) (уравнение плоскости: -x + (-9- \sqrt(1201))/56 * y = 0) Когда я использую метод Рунге-Кутты, чтобы построить решение с начальными условиями ((-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

1 Ответ

0 голосов
/ 29 октября 2019

Нет такой плоскости для нелинейной системы

Почему вы думаете, что эта плоскость инвариантна? В системе

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

нетривиальная линейная комбинация первых двух уравнений не зависит от z, что потребуется для получения инвариантного выражения только в x и y.

Инвариантные подпространства линеаризации близки к устойчивым и неустойчивым многообразиям, но не идентичны им. Поэтому, если вы находитесь в некотором инвариантном подпространстве линеаризации, вы на самом деле находитесь на некотором расстоянии от любых искривленных подмногообразий, связанных с нелинейной системой, и числовые, а также точные решения будут двигаться в направлении хаотического аттрактора.

Система Лоренца хаотична

Кроме того, ваше наблюдение верно, что ошибки с плавающей запятой накапливаются, чтобы оттолкнуть численное решение от точного решения и любых его свойств.

...