matlab画图坐标放大_利用MATLAB做动态图

本文介绍了如何使用MATLAB制作动态图,包括坐标不同型动画、坐标动动画、line()函数绘制动态图以及comet()函数画质点动态图的方法,详细展示了平抛运动和匀速圆周运动的示例。
摘要由CSDN通过智能技术生成

这几天做会议用的PPT,突然,发现需要做一些动态的图去展示工作。因此,学习了一些有关利用MATLAB做动态的技巧。这里和大家分享一下。

1、坐标不同型(类似于gif文件)

要想达到gif的动态效果,那么需要在你画第i个点时,前(i-1)个点的画图过程要首先展现出来。因此,只要我们记录画过的每一个点图像,然后依次快速移动这些图片,我们就可以达到这种目的了。在Matlab中提供了getframe和movie 来完成这个过程。代码如下:

clc;

closeall;

x1 = 0; s=0.1; %确定起始点和增量

numberaction=45; %确定总动画帧数

for k=1:numberaction

x1=x1+s; %确定画图时的横坐标终止值x1

x=0:0.01:x1;

y=sin(x);

plot(x,y);

axis([0 2*pi -1.8 1.8]); %坐标轴的范围

m(k)=getframe; %将当前图形存入矩阵m中

end

movie(m,2) %重复2此播放动画

2、坐标动(先画图,然后移动坐标轴)

%%

t=0:0.01:50*pi;

m=sin(t);

plot(t,m);

x=-2*pi;

axis([x,x+4*pi,-2,2]);

grid on

while 1

if x>max(t)

break;

end

x=x+0.1;

axis([x,x+4*pi,-2,2]);

pause(0.3);

end

3、利用line()函数画动态图.

clear all;

x=1:1:50;

y=x.^5+x.^4+4*random('Normal',0,1,1,length(x));

for i = 1:49

t=i+1;

line([x(i),x(i+1)],[y(i),y(i+1)]);

pause(0.5);

end

4、利用comet(),comet3()画质点动态图

comet(y)的图像显示质点绕向量y,comet(x,y)的图像显示质点绕向量y与x,comet(x,y,p),下面以comet(x,y)为例进行说明:

平抛运动
vx =50;
t =0:0.01:10;
x = vx*t;
y =-9.8*t.^2/2;
comet(x,y)

匀速圆周运动

sita =0:0.001:2*pi;

r = 9;

x=r*cos(sita);

y=r*sin(sita);

comet(x,y)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值