سیستم لورنز (به انگلیسی: Lorenz system) یک سیستم معادلات دیفرانسیل معمولی است که برای اولین بار توسط ادوارد لورنتس و الن فتر مورد بررسی قرار گرفت. برای داشتن راه حلهای برای مقادیر خاص پارامتر و شرایط اولیه نظریه آشوب قابل توجه است. به شکل خاص، جاذب لورنتس مجموعهای از راه حلهای بینظم سیستم لورنتس است. بر پایه مقالات منتشره در رسانههای مشهور، «اثر پروانهای» از پیامدهای واقعی جاذب لورنتس ناشی میشود، یعنی در هر سیستم فیزیکی، در صورت عدم دانش کامل از شرایط اولیه (حتی تغییرات کوچک هوا به دلیل بال زدن پروانه)، عملاً توانایی ما در پیشبینی مسیر آینده آن همیشه شکست خواهد خورد. در این سیستم تأکید میشود که سیستمهای فیزیکی میتوانند کاملاً قطعی باشند و در عین حال حتی در غیاب اثرات کوانتومی نیز ذاتاً قابل پیشبینی نباشند. شکل جاذب لورنتس نیز در صورت ترسیم گرافیکی، ممکن است شبیه یک پروانه باشد.
در سال ۱۹۶۳، ادوارد لورنتس، با کمک الن فتر، یک مدل ریاضی ساده برای همرفت جوی ایجاد کرد.[۱] این مدل سیستمی از سه معادله دیفرانسیل معمولی تشکیل شدهاست که اکنون به عنوان معادلات لورنتس شناخته میشوند:
معادلات لورنتس نیز در مدلهای ساده شده برای لیزر،[۲] مولد الکتریکی،[۳] ترموسیفون،[۴] موتور جریان مستقیم،[۵] مدار الکتریکی،[۶] واکنشهای شیمیایی[۷] و اسمز مستقیم کاربرد دارد.[۸] این معادلات همچنین از معادلات مطرح در فضای فوریه برای چرخ آب مالکوس هستند.[۹][۱۰] چرخ آب مالکوس حرکت آشفتهای را به نمایش میگذارد که در آن به جای چرخش در یک جهت با سرعت ثابت، چرخشی با سرعت متناوب، کندی، توقف، تغییر جهتها و نوسان به جلو و عقب یا ترکیبی از چنین رفتاری را به روشی غیرقابل پیشبینی دارد.
از نظر فنی، سیستم لورنتس غیرخطی، غیر دوره ای، سه بعدی و قطعی است. معادلات لورنتس موضوع صدها مقاله تحقیقاتی و حداقل یک کتاب بودهاست.[۱۱]
به شکل پیشفرض پارامترها ، ، و مثبت هستند لورنتس از مقادیر ، و استفاده کرد. این سیستم رفتارهای آشفتهای را برای این مقادیر (و نزدیک به آن) نشان میدهد.[۱۲]
اگر پس فقط یک نقطه تعادل وجود دارد که در مبدأ است. این نقطه با عدم همرفت مطابقت دارد. همه معادلات زمانی درست است، که عدد یک جاذب جهانی است .[۱۳]
انشعاب چنگال در ، و برای دو نقطه مهم اضافی در: و اینها مربوط به همرفت ثابت هستند. این جفت نقطه تعادل فقط در صورت ثبات است
فقط میتواند مثبت باشد اگر . در مقدار بحرانی، هر دو نقطه تعادل ثبات را از طریق انشعاب هاپ زیر بحرانی از دست میدهند.[۱۴]
هنگامی ، ، و ، سیستم لورنتس دارای نتایج بی نظم است (اما همه نتایج هرج و مرج نیستند). تقریباً تمام نقاط اولیه به یک مجموعه ثابت تغییر میکنند.
تجزیه و تحلیل جاذب لورنتس دشوار است، اما عملکرد معادله دیفرانسیل بر روی جاذب توسط یک مدل هندسی نسبتاً ساده است.[۱۵] اثبات این که واقعاً چنین است چهاردهمین مشکل در لیست مسائل اسمیل است. این مشکل اولین مشکلی بود که توسط وارویک تاکر در سال ۲۰۰۲ حل شد.[۱۶]
برای سایر مقادیر ، این سیستم مدارهای دورانی گره خورده را نمایش میدهد؛ مثلاً با به یک گره توروس تی(۳٬۲) تبدیل میشود.
% Solve over time interval [0,100] with initial conditions [1,1,1]
% ''f'' is set of differential equations
% ''a'' is array containing x, y, and z variables
% ''t'' is time variable
sigma = 10;
beta = 8/3;
rho = 28;
f = @(t,a) [-sigma*a(1) + sigma*a(2); rho*a(1) - a(2) - a(1)*a(3); -beta*a(3) + a(1)*a(2)];
[t,a] = ode45(f,[0 100],[1 1 1]); % Runge-Kutta 4th/5th order ODE solver
plot3(a(:,1),a(:,2),a(:,3))
روش استاندارد:
tend = 50;
eq = {x'[t] == σ (y[t] - x[t]),
y'[t] == x[t] (ρ - z[t]) - y[t],
z'[t] == x[t] y[t] - β z[t]};
init = {x[0] == 10, y[0] == 10, z[0] == 10};
pars = {σ->10, ρ->28, β->8/3};
{xs, ys, zs} =
NDSolveValue[{eq /. pars, init}, {x, y, z}, {t, 0, tend}];
ParametricPlot3D[{xs[t], ys[t], zs[t]}, {t, 0, tend}]
کمتر صریح:
lorenz = NonlinearStateSpaceModel[{{σ (y - x), x (ρ - z) - y, x y - β z}, {}}, {x, y, z}, {σ, ρ, β}];
soln[t_] = StateResponse[{lorenz, {10, 10, 10}}, {10, 28, 8/3}, {t, 0, 50}];
ParametricPlot3D[soln[t], {t, 0, 50}]
راه حل تعاملی به صورت پویا:
eqs = {
x'[t] == σ (y[t] - x[t]), y'[t] == x[t] (ρ - z[t]) - y[t], z'[t] == x[t] y[t] - β z[t],
x[0] == 10, y[0] == 10, z[0] == 10
};
tmax = 50;
sol = ParametricNDSolveValue[eqs, Function[t, {x[t], y[t], z[t]}], {t, 0, tmax}, {σ, ρ, β}];
Manipulate[
fun = sol[σ, ρ, β];
plot = ParametricPlot3D[fun[t], {t, 0, tmax}, PlotRange -> All, PerformanceGoal -> "Quality"];
Animate[
Show[plot, Graphics3D[{PointSize[0.05], Red, Point[fun[t]]}]],
{t, 0, tmax}, AnimationRunning -> True, AnimationRate -> 1
],
{{σ, 10}, 0, 100}, {{ρ, 28}, 0, 100}, {{β, 8/3}, 0, 100},
TrackedSymbols :> {σ, ρ, β}
]
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
from mpl_toolkits.mplot3d import Axes3D
rho = 28.0
sigma = 10.0
beta = 8.0 / 3.0
def f(state, t):
x, y, z = state # Unpack the state vector
return sigma * (y - x), x * (rho - z) - y, x * y - beta * z # Derivatives
state0 = [1.0, 1.0, 1.0]
t = np.arange(0.0, 40.0, 0.01)
states = odeint(f, state0, t)
fig = plt.figure()
ax = fig.gca(projection="3d")
ax.plot(states[:, 0], states[:, 1], states[:, 2])
plt.draw()
plt.show()
model LorenzSystem
parameter Real sigma = 10;
parameter Real rho = 28;
parameter Real beta = 8/3;
parameter Real x_start = 1 "Initial x-coordinate";
parameter Real y_start = 1 "Initial y-coordinate";
parameter Real z_start = 1 "Initial z-coordinate";
Real x "x-coordinate";
Real y "y-coordinate";
Real z "z-coordinate";
initial equation
x = x_start;
y = y_start;
z = z_start;
equation
der(x) = sigma*(y-x);
der(y) = rho*x - y - x*z;
der(z) = x*y - beta*z;
end LorenzSystem;
using DifferentialEquations, ParameterizedFunctions, Plots
lorenz = @ode_def begin # define the system
dx = σ * (y - x)
dy = x * (ρ - z) - y
dz = x * y - β*z
end σ ρ β
u0 = [1.0,0.0,0.0] # initial conditions
tspan = (0.0,100.0) # timespan
p = [10.0,28.0,8/3] # parameters
prob = ODEProblem(lorenz, u0, tspan, p) # define the problem
sol = solve(prob) # solve it
plot(sol, vars = (1, 2, 3)) # plot solution in phase space - variables ordered with 1 based indexing
load(dynamics)$
load(draw)$
/* System parameters */
a: 10; b: 8/3; r: 28;
lorenzSystem: [a*(y-x), -x*z+r*x-y, x*y-b*z];
dependentVariables: [x, y, z]$
initialValues: [1, 1, 1]$
timeRange: [t, 0, 50, 0.01]$
/* solution via 4th order Runge-Kutta method */
systemSolution: rk(lorenzSystem, dependentVariables, initialValues, timeRange)$
solutionPoints: map(lambda([x], rest(x)), systemSolution)$
draw3d(point_type=none, points_joined=true, color=blue,
xlabel="x(t)", ylabel="y(t)", zlabel="z(t)",
points(solutionPoints));
معادلات لورنتس از تقریب بوسینسک (شناوری) به معادلات توصیف گردش سیال در یک لایه کم عمق مایع مشتق شدهاست، هنگامی مایع از پایین بهطور یکنواخت گرم میشود و از بالا بهطور یکنواخت سرد میشود.[۱] این گردش سیال به همرفت ریلی–بنارد معروف است. مفروض است که مایع در دو بعد (عمودی و افقی) با شرایط مرزی مستطیلی شکل گردش میکند.[۱۷]
لورنتس مشارکتهای الن فتر را در مقاله خود، که مسئول شبیهسازیهای عددی و ارقام است، تأیید میکند.[۱] همچنین، مارگارت همیلتون در محاسبات عددی اولیه و منجر به یافتههای مدل لورنتس کمک کرد.[۱۸]