Метки: Аттрактор лоренца маткад, аттрактор лоренца был обнаружен при построении, аттрактор лоренца лабораторная работа, аттрактор лоренца это.
Аттрактор Лоренца (от англ. to attract — притягивать) ― компактное инвариантное множество в трехмерном фазовом пространстве гладкого потока, которое имеет определённую сложную топологическую структуру и является асимптотически устойчивым, оно устойчиво по Ляпунову и все траектории из некоторой окрестности стремятся к при (отсюда название).
Аттрактор Лоренца был найден в численных экспериментах Лоренца, исследовавшего поведение траекторий нелинейной системы:
при следующих значениях параметров: σ=10, r=28, b=8/3. Эта система вначале была введена как первое нетривиальное галёркинское приближение для задачи о конвекции морской воды в плоском слое, чем и мотивировался выбор значений σ, r и b, но она возникает также и в других физических вопросах и моделях:
Исходная гидродинамическая система уравнений:
где — скорость течения, — температура жидкости, — температура верхней границы (на нижней поддерживается ), — плотность, — давление, — сила тяжести, — соответственно коэффициент теплового расширения, температуропроводности и кинематической вязкости.
В задаче о конвекции модель возникает при разложении скорости течения и температуры в двумерные ряды Фурье и последующей их «обрезки» с точностью до первых-вторых гармоник. Кроме того, приведённая полная система уравнений гидродинамики записывается в приближении Буссинеска. Обрезка рядов в определённой мере оправдана, так как Сольцмен в своих работах продемонстрировал отсутствие каких-либо интересных особенностей в поведении большинства гармоник.
Содержание |
Обозначим физический смысл переменных и параметров в системе уравнений применительно к упомянутым задачам.
Стоит указать, что применительно к задаче о конвекции модель Лоренца является очень грубым приближением, весьма далёким от реальности. Более-менее адекватное соответствие существует в области регулярных режимов, где устойчивые решения качественно отображают экспериментально наблюдаемую картину равномерно вращающихся конвективных валов (Ячейки Бенара). Хаотический режим, присущий модели, не описывает турбулентной конвекции в силу существенной обрезки исходных тригонометрических рядов.
Интересным является существенно большая точность модели при некоторой её модификации, применяемая в частности для описания конвекции в слое, подвергаемом вибрации в вертикальном направлении либо переменному тепловому воздействию. Такие изменения внешних условий приводят к модулированию коэффициентов в уравнениях. При этом высокочастотные Фурье-компоненты температуры и скорости существенно подавляются, улучшая соответствие модели Лоренца и реальной системы.
Примечательно везение Лоренца при выборе значения параметра , так как система приходит к странному аттрактору только при значениях, больших 24,74, при меньших поведение оказывается совершенно иным.
Рассмотрим изменения в поведении решения системы Лоренца при различных значениях параметра r. На иллюстрациях к статье приведены результаты численного моделирования для точек с начальными координатами (10,10,10) и (-10,-10,10). Моделирование производилось с помощью приведённой ниже программы, написанной на языке Фортран, построение графиков по полученным таблицам — из-за слабых графических возможностей Фортрана с помощью Compaq Array Viewer.
Эти точки определяют состояния стационарного режима конвекции, когда в слое формируется структура из вращающихся валов жидкости.
При больших значениях параметра траектория претерпевает серезные изменения. Шильников и Каплан показали, что при очень больших r система переходит в режим автоколебаний, при этом, если уменьшать параметр, будет наблюдаться переход к хаосу через последовательность удвоений периода колебаний.
Модель Лоренца является реальным физическим примером динамических систем с хаотическим поведением, в отличие от различных искусственно сконструированных отображений («зуб пилы», «тент», преобразование пекаря, отображение Фейгенбаума и др.).
Borland C
#include <graphics.h> #include <conio.h> void main() { double x = 3.051522, y = 1.582542, z = 15.62388, x1, y1, z1; double dt = 0.0001; int a = 5, b = 15, c = 1; int gd=DETECT, gm; initgraph(&gd, &gm, "C:\\BORLANDC\\BGI"); do { x1 = x + a*(-x+y)*dt; y1 = y + (b*x-y-z*x)*dt; z1 = z + (-c*z+x*y)*dt; x = x1; y = y1; z = z1; putpixel((int)(19.3*(y - x*0.292893) + 320), (int)(-11*(z + x*0.292893) + 392), 9); } while (!kbhit()); closegraph(); }
Mathematica
data = Table[ With[{N = 1000, dt = 0.01, a = 5, b = 1 + j, c = 1}, NestList[Module[{x, y, z, x1, y1, z1}, {x, y, z} = #; x1 = x + a (-x + y) dt; y1 = y + (b x - y - z x) dt; z1 = z + (-c z + x y) dt; {x1, y1, z1}] &, {3.051522, 1.582542, 15.62388}, N ] ], {j, 0, 5}]; Graphics3D@MapIndexed[{Hue[0.1 First[#2]], Point[#1]} &, data]
Borland Pascal
Program Lorenz; Uses CRT, Graph; Const x: Real = 3.051522; y: Real = 1.582542; z: Real = 15.62388; dt = 0.0001; a = 5; b = 15; c = 1; Var gd, gm: Integer; x1, y1, z1: Real; Begin gd:=Detect; InitGraph(gd, gm, 'c:\bp\bgi'); While not KeyPressed Do Begin x1 := x + a*(-x+y)*dt; y1 := y + (b*x-y-z*x)*dt; z1 := z + (-c*z+x*y)*dt; x := x1; y := y1; z := z1; PutPixel(Round(19.3*(y - x*0.292893) + 320), Round(-11*(z + x*0.292893) + 392), 9); End; CloseGraph; ReadKey; End.
FORTRAN
program LorenzSystem real,parameter::sigma=10 real,parameter::r=28 real,parameter::b=2.666666 real,parameter::dt=.01 integer,parameter::n=1000 real x,y,z open(1,file='result.txt',form='formatted',status='replace',action='write') x=10.;y=10.;z=10. do i=1,n,1 x1=x+sigma*(y-x)*dt y1=y+(r*x-x*z-y)*dt z1=z+(x*y-b*z)*dt x=x1 y=y1 z=z1 write(1,*)x,y,z enddo print *,'Done' close(1) end program LorenzSystem
QBASIC/FreeBASIC(«fbc -lang qb»)
DIM x, y, z, dt, x1, y1, z1 AS SINGLE DIM a, b, c AS INTEGER x = 3.051522: y = 1.582542: z = 15.62388: dt = 0.0001 a = 5: b = 15: c = 1 SCREEN 12 PRINT "Press Esc to quit" WHILE INKEY$ <> CHR$(27) x1 = x + a * (-x + y) * dt y1 = y + (b * x - y - z * x) * dt z1 = z + (-c * z + x * y) * dt x = x1 y = y1 z = z1 PSET ((19.3 * (y - x * .292893) + 300), (-11 * (z + x * .292893) + 360)), 9 WEND END
HTML5
<html> <body> <canvas height='500' width='500' id='cnv'></canvas> <script> var cnv = document.getElementById("cnv"); var cx = cnv.getContext('2d'); var x = 3.051522, y = 1.582542, z = 15.62388, x1, y1, z1; var dt = 0.0001; var a = 5, b = 15, c = 1; var h = parseInt(cnv.getAttribute("height")); var w = parseInt(cnv.getAttribute("width")); var id = cx.createImageData(w, h); var rd = Math.round; var idx = 0; i=1000000; while (i--) { x1 = x + a*(-x+y)*dt; y1 = y + (b*x-y-z*x)*dt; z1 = z + (-c*z+x*y)*dt; x = x1; y = y1; z = z1; idx=4*(rd(19.3*(y - x*0.292893) + 320) + rd(-11*(z + x*0.292893) + 392)*w); id.data[idx+3] = 255; } cx.putImageData(id, 0, 0); </script> </body> </html>
IDL
PRO Lorenz n=1000000 & r=dblarr(n,3) & r[0,*]=[3.051522,1.582542,15.62388] & a=5. & b=15. & c=1. FOR i=0.,n-2. DO r[i+1,*]=r[i,*] + [ a*(r[i,1]-r[i,0]), b*r[i,0]-r[i,1]-r[i,2]*r[i,0], r[i,0]*r[i,1]-c*r[i,2] ]*0.0001 plot,19.3*(r[*,1]-r[*,0]*0.292893)+320.,-11*(r[*,2]+r[*,0]*0.292893)+392. END
Tags: Аттрактор лоренца маткад, аттрактор лоренца был обнаружен при построении, аттрактор лоренца лабораторная работа, аттрактор лоренца это.