MATLAB图形绘制--李萨茹图形的绘制以及生成运动轨迹的动画

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)来播放我们之前保存的图片矩阵。
2

发布了84 篇原创文章 · 获赞 18 · 访问量 5805

猜你喜欢

转载自blog.csdn.net/qq_44486550/article/details/105362316