t = [0:0.02:10];
x = cos(t);
y = cos(3*t+pi/2);
for i = 1:length(t)
scatter(x(i),y(i));
hold on;
% scatter(x(i),0);
% scatter(y(i),0);
plot([-2 2],[0 0]);%画坐标轴
plot([0 0],[-2 2]);%画坐标轴
axis equal;
axis([-2 2 -2 2]);%防止抖动
M(i) = getframe;%保存图像
% hold off;
end
movie(M)%可以在命令行直接调用
可以通过for循环来产生动画,其中动画的精度由时间t来控制,t的步进长度越小,其中的点移动生成轨迹动画的时候越平滑。
为了图像的可读性,我们绘制了x轴和y轴,并且在其留下点移动时候的投影。
如果只想观看一个点移动的时候生成的一系列轨迹,我们绘制完t在某时刻的点之后,使用hold on命令,这个时候就会生成一系列的轨迹:
最后我们可以在命令行直接调用moive(M)来播放我们之前保存的图片矩阵。