Lorentz equation using the Euler method

20 visualizaciones (últimos 30 días)
sz
sz el 20 de Mayo de 2020
Comentada: Kian Halim el 5 de Oct. de 2021
I would like to plot the Lorentz equation using the Euler method.(If possible don't use ODE)
Please give me how to plot it.
for loop seems difficult and i don't understand.
I think the following is completely different
p=10 %初期値
r=28;
b=8/3;
x(1)=10;
y(1)=12;
z(1)=25;
dy(1)=p*y(1)+p*y(2);
dy(2)=-y(1)*y(3)+r*y(1)-y(2);
dy(3)=y(1)*y(2)-b*y(3);
for i=1:length(t)-1;
   y(i+1)=y(i)+v(i)*h
end
plot
  2 comentarios
darova
darova el 20 de Mayo de 2020
Can you show original equations?
sz
sz el 20 de Mayo de 2020
Editada: darova el 20 de Mayo de 2020
lorenz equation
Is this ok?
Please take care of me.
% lorenz equation
dx/dt=-px+py
dy/dt=-xz+rx-y
dz/dt=xy-bz p=10, r=28, b=8/3
x(0)=10, y(0)=12, z(0)=25
euler
y(t+h)=y(t)+h y′(t)

Iniciar sesión para comentar.

Respuesta aceptada

darova
darova el 20 de Mayo de 2020
Try this solution
  2 comentarios
A Name
A Name el 11 de Mzo. de 2021
I have the same question and I am stuck. I need to use the euler foward time stepping and this is the code i have so far:
could you please help I am not very confident on matlab
%First define sigma=s, rho=r and beta=b for this question
s=10
r=28;
b=8/3;
% lorenz equation
dx/dt=-sx+sy
dy/dt=-xz+rx-y
dz/dt=xy-bz
%Choose initail conditions
x(0)=10, y(0)=12, z(0)=25
y(1,1) = 10;
y(1,2) = 12;
y(1,3) = 25;
for i=1:length(t)-1;
dy(i,1) = s*y(i,1)+s*y(i,2);
dy(i,2) = -y(i,1)*y(i,3)+r*y(i,1)-y(i,2);
dy(i,3) = y(i,1)*y(i,2)-b*y(i,3);
y(i+1,:)=y(i,:)+dy(i,:)*h(i)
end
plot(t,y)
Kian Halim
Kian Halim el 5 de Oct. de 2021
Did you ever get this working?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by