Matlab 设置不同轨迹的动画

Matlab 设置不同轨迹的动画,matlab,animation,Matlab,Animation,我试图在Matlab中制作不同动作的动画。这篇文章帮助了我很多,但我想在一段时间后改变一下动作。因此,在定义了轨迹之后,我为它们设置了动画。你能看一下吗 我想保持圆点的速度不变,因此我用微分方程求解它,这些方程在其他文件中定义。我还定义了时间tf,tf1。。。我使用了与上面链接中建议的完全相同的方法,即hPoint tf=4*pi/15; % time at which 4pi are completed. speed=15 tf1= 2+tf; tf2= pi/15 +tf1; [t,X]

我试图在Matlab中制作不同动作的动画。这篇文章帮助了我很多,但我想在一段时间后改变一下动作。因此,在定义了轨迹之后,我为它们设置了动画。你能看一下吗

我想保持圆点的速度不变,因此我用微分方程求解它,这些方程在其他文件中定义。我还定义了时间tf,tf1。。。我使用了与上面链接中建议的完全相同的方法,即hPoint

tf=4*pi/15; % time at which 4pi are completed. speed=15
tf1= 2+tf; 
tf2= pi/15 +tf1;

[t,X]=ode45(@dif,[0 tf],[0 -15 -15])  
p1 = [X(:,2) X(:,3)];

[t,X2]=ode45(@dif2,[tf tf1],[-15 -15]) 
p1a = [X2(:,1) X2(:,2)];

[t,X3]=ode45(@dif,[tf1 tf2],[0 -15 +15]) 
p1b = [X3(:,2) X3(:,3)];

D = [p1(:,1) p1(:,2)
    p1a(:,1) p1a(:,2)
    p1b(:,1) p1b(:,2)];

hPoint = line('XData',D(1,1), 'YData',D(1,2), 'EraseMode',ERASEMODE, ...
    'Color','r', 'Marker','o', 'MarkerSize',50, 'LineWidth',1);  

但是,当我尝试设置它的动画时,圆点会稍微停止,然后继续。特别是对于向量p1b,它是第三部分(上圆)。对这种行为有什么想法吗?有没有办法使它稳定并以相同的速度动画化?提前谢谢你

不确定这是否会有帮助,但我最近看到了“comet”-plot命令…我没有看到任何动画代码。你实际上是如何制作动画的?另外,您提供的链接似乎是用于生成电影(因此调用
getframe
)而不是动画。您是否真的想制作电影,即视频文件/数据?谢谢您的回复。Lucius thanx彗星很好我查过了@霍奇勒:事实上,最好有一个视频。所以我会选择getframe。看来我不能再提高了。我有一条蓝色的轨迹,沿着一条路径,现在我想画另一条,沿着蓝色,但过了一段时间。这有可能吗?怎么可能?或者,我想用另一个点跟随红点(就像我上面提到的圆的例子),并沿着相同的路径与它保持固定的距离。这将产生相同的结果。提前谢谢大家!对于一部电影来说,关键是要以任何速度记录所有帧。实际运行调用
getframe
for
循环时可能会出现抖动。这是意料之中的。你在做计算,你在做帧抓取和文件/数据写入。只有在播放完电影后才能获得平滑的运动。然而,如果您的计算机速度较慢,如果您使用了错误的编解码器,或者如果您只是尝试记录与屏幕一样大的帧(例如,数据速率),则即使这样也会很麻烦。