Lorenz system

From Wikipedia, the free encyclopedia
  (Redirected from Lorenz equations)
Jump to: navigation, search
A plot of a solution when ρ = 28, σ = 10, and β = 8/3 (i.e. a solution in the Lorenz attractor)

The Lorenz system is a system of ordinary differential equations (the Lorenz equations) first studied by Edward Lorenz. It is notable for having chaotic solutions for certain parameter values and initial conditions. In particular, the Lorenz attractor is a set of chaotic solutions of the Lorenz system which, when plotted, resemble a butterfly or figure eight.

Contents

[edit] Overview

In 1963, Edward Lorenz developed a simplified mathematical model for atmospheric convection. The model is a system of three ordinary differential equations now known as the Lorenz equations:

\frac{dx}{dt} = \sigma (y - x)
\frac{dy}{dt} = x (\rho - z) - y
\frac{dz}{dt} = xy - \beta z

Here x, y, and z make up the system state, t is time, and \sigma, \rho, \beta are the system parameters. The Lorenz equations also arise in simplified models for lasers (Haken 1975) and dynamos (Knobloch 1981).

A trajectory of Lorenz's equations, rendered as a metal wire to show direction and 3D structure

From a technical standpoint, the Lorenz system is nonlinear, three-dimensional and deterministic.

[edit] Analysis

One normally assumes \sigma, \rho, \beta > 0, but usually \sigma = 10, \beta = 8/3 and \rho is varied. The system exhibits chaotic behavior for \rho = 28 but displays knotted periodic orbits for other values of \rho. For example, with \rho = 99.96 it becomes a T(3,2) torus knot.

A Saddle-node bifurcation occurs at \beta(\rho-1)=0. When σ ≠ 0 and β (ρ-1) ≥ 0, the equations generate three critical points. The critical points at (0,0,0) correspond to no convection, and the critical points at (\pm\sqrt{\beta(\rho-1)}, \pm\sqrt{\beta(\rho-1)}, \rho-1) correspond to steady convection. This pair is stable only if \rho< \sigma\frac{\sigma+\beta+3}{\sigma-\beta-1}, which can hold only for positive \rho if \sigma > \beta+1.

When \rho = 28, \sigma = 10, and \beta = 8/3, the Lorenz system has chaotic solutions (but not all solutions are chaotic). The set of chaotic solutions make up the Lorenz attractor, a strange attractor and a fractal of Hausdorff dimension between 2 and 3. Grassberger (1983) has estimated the Hausdorff dimension to be 2.06 ± 0.01 and the correlation dimension to be 2.05 ± 0.01.

Example solutions of the Lorenz system for different values of ρ
Lorenz Ro14 20 41 20-200px.png Lorenz Ro13-200px.png
ρ=14, σ=10, β=8/3 (Enlarge) ρ=13, σ=10, β=8/3 (Enlarge)
Lorenz Ro15-200px.png Lorenz Ro28-200px.png
ρ=15, σ=10, β=8/3 (Enlarge) ρ=28, σ=10, β=8/3 (Enlarge)
For small values of ρ, the system is stable and evolves to one of two fixed point attractors. When ρ is larger than 24.28, the fixed points become repulsors and the trajectory is repelled by them in a very complex way, evolving without ever crossing itself.
Java animation showing evolution for different values of ρ
Sensitive dependence on the initial condition
Time t=1 (Enlarge) Time t=2 (Enlarge) Time t=3 (Enlarge)
Lorenz caos1-175.png Lorenz caos2-175.png Lorenz caos3-175.png
These figures — made using ρ=28, σ = 10 and β = 8/3 — show three time segments of the 3-D evolution of 2 trajectories (one in blue, the other in yellow) in the Lorenz attractor starting at two initial points that differ only by 10-5 in the x-coordinate. Initially, the two trajectories seem coincident (only the yellow one can be seen, as it is drawn over the blue one) but, after some time, the divergence is obvious.
Java animation of the Lorenz attractor shows the continuous evolution.

[edit] Source code

Some source code to simulate the Lorenz system in GNU Octave and Matlab follows.

% Lorenz equations solved by ODE Solve
%% x' = sigma*(y-x)
%% y' = x*(rho - z) - y
%% z' = x*y - beta*z
function dx = lorenzatt(X)
    rho = 28; sigma = 10; beta = 8/3;
    dx = zeros(3,1);
    dx(1) = sigma*(X(2) - X(1));
    dx(2) = X(1)*(rho - X(3)) - X(2);
    dx(3) = X(1)*X(2) - beta*X(3);
    return
end
% Using LSODE to solve the ODE system.
clear all
close all
lsode_options("absolute tolerance",1e-3)
lsode_options("relative tolerance",1e-4)
t = linspace(0,25,1e3); X0 = [0,1,1.05];
[X,T,MSG]=lsode(@lorenzatt,X0,t);
T
MSG
plot3(X(:,1),X(:,2),X(:,3))
view(45,45)
 
% A simple Lorenz Solver in MatLab code
function dxdt=myLorenz(t,x)
% The RHS of the Lorenz attractor
% Save this function in a separate file 'myLorenz.m'
sigma = 10;
r = 28;
b = 8/3;
dxdt=[ sigma*(x(2)-x(1));
r*x(1)-x(2)-x(1)*x(3);
x(1)*x(2)-b*x(3)];
end
%% Main program: Save the program in a separate .m file and run it.
clear all; % clear all variables
t=linspace(0,50,3000)'; % time variables
y0=[-1;3;4]; % Initial conditions
[t,Y] = ode45(@myLorenz,t,y0); %Invoking built-in solver 'ode45'
plot3(Y(:,1),Y(:,2),Y(:,3));  % Plot results
grid on;

[edit] See also

[edit] References

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages