Filter löschen
Filter löschen

Lorentz equation using the Euler method

7 Ansichten (letzte 30 Tage)
sz
sz am 20 Mai 2020
Kommentiert: Kian Halim am 5 Okt. 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 Kommentare
darova
darova am 20 Mai 2020
Can you show original equations?
sz
sz am 20 Mai 2020
Bearbeitet: darova am 20 Mai 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)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

darova
darova am 20 Mai 2020
Try this solution
  2 Kommentare
A Name
A Name am 11 Mär. 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 am 5 Okt. 2021
Did you ever get this working?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by