![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/174044/image.png)
LorenzSystem, ode23
1 view (last 30 days)
Show older comments
Hi, I get a question to model the LorenzSystem. It has
dx/dt = 10(y-x)
dy/dt = -xz+28x-y
dz/dt = xy-8z/3
Setting the initial value x = 1; y = 2; z =3. It should get a graph like this. But mine is so weird.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160659/image.jpeg)
function chaotic
clc;clear;
%LorenzSystem
y0=[1;2;3];
soln = ode23(@f,[0 100],y0)
t = linspace(0,100,300);
y(:,1)=deval(soln,t,1);
y(:,2)=deval(soln,t,2);
y(:,3)=deval(soln,t,3);
figure
plot3(y(:,1),y(:,2),y(:,3));
hold on;grid on;
end
function dxdt = f(t,x)
dxdt=[0;0;0];
dxdt(1) = 10*(x(2)-x(1));
dxdt(2) = -x(1)*x(3)+28 * x(1)- x(2);
dxdt(3) = x(1)*x(2)-8*x(3)/3;
end
0 Comments
Accepted Answer
Star Strider
on 10 Apr 2016
Edited: Star Strider
on 10 Apr 2016
It’s always best not to ‘overthink’ problems (and I admit that I’ve don that so often, I’ve lost count).
This works:
% Lorenz System
f = @(t,x) [10*(x(2)-x(1)); -x(1).*x(3)+28 .* x(1)- x(2); x(1).*x(2)-8*x(3)/3];
y0=[1;2;3];
[t,y] = ode23(f,[0 100],y0);
figure(1)
plot3(y(:,1),y(:,2),y(:,3));
grid on
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/174044/image.png)
Note: This is all your code, I just copy-pasted it to an anonymous function, and did a few edits.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!