Lorentz equation using the Euler method

22 vues (au cours des 30 derniers jours)
sz
sz le 20 Mai 2020
Commenté : Kian Halim le 5 Oct 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 commentaires
darova
darova le 20 Mai 2020
Can you show original equations?
sz
sz le 20 Mai 2020
Modifié(e) : darova le 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)

Connectez-vous pour commenter.

Réponse acceptée

darova
darova le 20 Mai 2020
Try this solution
  2 commentaires
A Name
A Name le 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 le 5 Oct 2021
Did you ever get this working?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by