ode45 3D-Plot

5 views (last 30 days)
Saeed Ahmadzadeh
Saeed Ahmadzadeh on 6 Apr 2019
Commented: Star Strider on 7 Apr 2019
Hi
Can sb help me please?
I should draw 3D-Plot for a first order differential system, but I could find just one example which was very complicated for me to learn!
a=1; b=2; c=a*(b^2-1/(b^2));
f = @(t,x)[x(2)*x(3)-a*x(1)
x(1)*(x(3)-c)-a*x(2)
1-x(1)*x(2)];
t=linspace(0,50);
[t,x]=ode45(f,t,[1 0 1]);
now I should draw the 3D trajectory (x1-x2-x3 diagram) and also indicate them in the course of time !
can someone help with it?
Thank you very much in advance
  4 Comments
madhan ravi
madhan ravi on 7 Apr 2019
simply use plot3()
Saeed Ahmadzadeh
Saeed Ahmadzadeh on 7 Apr 2019
Thanks a lot

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 6 Apr 2019
In our universe, there are three large dimensions (although string theory posits 11 in all). That means that you can only plot three spatial coordinates, and if you want to plot time as well, the only way is to add colour to the various regions.
This slight variation on your code does that:
a=1; b=2; c=a*(b^2-1/(b^2));
f = @(t,x)[x(2)*x(3)-a*x(1)
x(1)*(x(3)-c)-a*x(2)
1-x(1)*x(2)];
t=linspace(0,50,1000);
[t,x]=ode45(f,t,[1 0 1]);
cm = jet(numel(t));
figure
hold all
for k = 1:size(x,1)-1
hl = plot3([x(k,1),x(k+1,1)], [x(k,2),x(k+1,2)], [x(k,3),x(k+1,3)]);
set(hl, 'LineStyle','-.', 'Color',cm(k,:));
end
hold off
grid on
view(50, 30)
The jet (link) colormap (link) (that some object to using) colours the times here from earliest (blue) to latest (red). You can use any map (link) you want. Substitute that name into the ‘cm’ assignment to change it. I am not aware of any other way to depict time in a 3D plot that does not include time as an independent variable on one of the axes.
  3 Comments
darova
darova on 7 Apr 2019
accept the answer then
Star Strider
Star Strider on 7 Apr 2019
@Saeed Ahmadzadeh — As always, my pleasure!
@darova — Thank you!

Sign in to comment.

More Answers (0)

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!