How do I plot a particular solution (with given initial conditions) of 3 differential equations with 3 variables?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Mischa Kim
2014년 5월 18일
편집: Mischa Kim
2014년 5월 18일
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
Mischa Kim
2014년 5월 18일
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
2014년 5월 18일
Actually, that line defines the file as a function rather than as a main script file. A function file has special properties.
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!