Azzera filtri
Azzera filtri

Lorentz equation using the Euler method

7 visualizzazioni (ultimi 30 giorni)
sz
sz il 20 Mag 2020
Commentato: Kian Halim il 5 Ott 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 Commenti
darova
darova il 20 Mag 2020
Can you show original equations?
sz
sz il 20 Mag 2020
Modificato: darova il 20 Mag 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)

Accedi per commentare.

Risposta accettata

darova
darova il 20 Mag 2020
Try this solution
  2 Commenti
A Name
A Name il 11 Mar 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 il 5 Ott 2021
Did you ever get this working?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by