ode45 3D-Plot

5 次查看(过去 30 天)
Saeed Ahmadzadeh
Saeed Ahmadzadeh 2019-4-6
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 个评论
madhan ravi
madhan ravi 2019-4-7
simply use plot3()
Saeed Ahmadzadeh
Saeed Ahmadzadeh 2019-4-7
Thanks a lot

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2019-4-6
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 个评论
darova
darova 2019-4-7
accept the answer then
Star Strider
Star Strider 2019-4-7
@Saeed Ahmadzadeh — As always, my pleasure!
@darova — Thank you!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by