How do I plot a particular solution (with given initial conditions) of 3 differential equations with 3 variables?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
The equations are the Lorentz equations:
x(dot) = sigma(y-x)
y(dot) = rx - y - xz
z(dot) = xy - bz
where sigma, r and b are fixed. I need to simulate them for various initial conditions. First off, I'm kind of sketchy on what simulate even means. I've asked around elsewhere and gotten as far as I need to use one of the built in ode solvers? like ode45 or ode1 or something. I'm just not sure how to define all 3 functions at once, or whether I even need to do that? Someone said that it wasn't necessary but I didn't understand why.
How do I tell matlab to solve all of these equations at once and give me an x-y-z plot of the trajectory obtained from a given initial (x,y,z)?
0 Kommentare
Antworten (1)
Mischa Kim
am 18 Mai 2014
Bearbeitet: Mischa Kim
am 18 Mai 2014
Andrew, use ode45 and something like
function Lorentz()
sigma = 1;
r = 1;
b = 1;
[~,S] = ode45(@EOM,[0 50],[1 2 3],[],sigma,r,b);
x = S(:,1);
y = S(:,2);
z = S(:,3)
plot3(x,y,z)
box
end
function dS = EOM(t,s,sigma,r,b)
x = s(1);
y = s(2);
z = s(3);
dS = [sigma*(y - x);...
r*x - y - x*z;...
x*y - b*z];
end
Note, the three equations are coupled, therefore they need to be solved simultaneously.
5 Kommentare
Mischa Kim
am 18 Mai 2014
That's called a function. Simply copy-paste the entire code into one file, save it as Lorentz.m and run it from the command window.
Star Strider
am 18 Mai 2014
Actually, that line defines the file as a function rather than as a main script file. A function file has special properties.
Siehe auch
Kategorien
Mehr zu Ordinary 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!