【发布时间】:2017-07-21 04:44:47
【问题描述】:
我知道 octave 中的 hold on; 命令允许我在同一个图中绘制多个轨迹。但是,我最近遇到了“彗星”功能。它在用户定义的时间范围内对系统状态进行动画处理。我只成功地将它用于一个简单的代码,它显示了一个小物体围绕一个固定的大物体的轨迹。如何使用“彗星”在同一时间范围内为 2 个物体的轨迹设置动画?
PS:如果你需要一个“彗星”如何工作的例子,这里是我上面提到的简单代码:
function xdot = f(x,t)
G = 1.37;
M = 10^5;
[T,r] = cart2pol(x(1),x(2));
xdot(3) = -((G*M)/((x(1)^2) + (x(2)^2)))*cos(T);
xdot(4) = -((G*M)/((x(1)^2) + (x(2)^2)))*sin(T);
xdot(1) = x(3);
xdot(2) = x(4);
endfunction
X = lsode ("f", [1000,0,5,10],(t = linspace(0,1000,2000)'));
comet(X(:,1),X(:,2),0.01);
这基本上绘制了随时间变化的轨迹。您可以将粘贴复制到八度并查看动画。
谁能告诉我如何为 2 体或多体系统做同样的事情?
【问题讨论】: