收藏 分销(赏)

有趣的MATLAB动画演示程序汇总.doc

上传人:丰**** 文档编号:4779338 上传时间:2024-10-12 格式:DOC 页数:37 大小:115.01KB
下载 相关 举报
有趣的MATLAB动画演示程序汇总.doc_第1页
第1页 / 共37页
有趣的MATLAB动画演示程序汇总.doc_第2页
第2页 / 共37页
有趣的MATLAB动画演示程序汇总.doc_第3页
第3页 / 共37页
有趣的MATLAB动画演示程序汇总.doc_第4页
第4页 / 共37页
有趣的MATLAB动画演示程序汇总.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、MATLAB 动画演示程序汇总1.弹性蹦球演示程序figure(1);%定义函数axis(-5.1,5,-0.05,1.05);%绘制二维图形hold on;%保持当前图形及轴系所有的特性axis(off);%覆盖坐标刻度,并填充背景%通过填充绘出台阶及两边的挡板fill(4.12,4.22,4.22,4.12,-0.05,-0.05,1.05,1.05,y);fill(-5,-3.2,-3.2,-5,-0.05,-0.05,0,0,g);fill(-3.2,-2.8,-2.8,-3.2,-0.05,-0.05,0.2,0.2,g);fill(-3.2,-1.4,-1.4,-3.2,0.2,0

2、.2,0.25,0.25,g);fill(-1.4,-1,-1,-1.4,0.2,0.2,0.45,0.45,g);fill(-1.4,0.4,0.4,-1.4,0.45,0.45,0.5,0.5,g);fill(0.4,0.8,0.8,0.4,0.45,0.45,0.7,0.7,g);fill(0.4,2.0,2.0,0.4,0.7,0.7,0.75,0.75,g);fill(2.0,2.3,2.3,2.0,-0.05,-0.05,0.75,0.75,g);fill(2.3,4.12,4.12,2.3,-0.05,-0.05,0,0,g);%x2=line(-5,5,0.25,0.25,co

3、lor,g,linestyle,-, markersize,50)%设置台阶边框线,颜色,擦试方式%line(-5,5,0.5,0.5,color,b,linestyle,-, markersize,50)%设置球与地面接触面的颜色,擦试方式%line(-5,5,0.75,0.75,color,b,linestyle,-, markersize,50)%设置球与地面接触面的颜色,擦试方式head=line(-5,1,color,r,linestyle,.,erasemode,xor, markersize,60);%设置小球颜色,大小,线条和擦试方式%body=line(-5,1,color,

4、b,linestyle,-,erasemode,none); %描绘轨迹线%设置初始条件while 1t=4;dt=0.001;w=0;dw=0.001;w=0;%设置球弹起的初始位置%设置球弹起的高度while t=4.12t=dt+t;if w=2.11t=t-dt;if w=1.11t=t-dt;if w=-0.62t=t-dt;if w=-2.31t=t-dt;if w=-4t=t-dt;if w199)endendend2.嫦娥奔月演示程序figure(name,嫦娥一号与月亮、地球关系);%设置标题名字s1=0:.01:2*pi;hold on;axis equal;%建立坐标系a

5、xis off % 除掉Axesr1=10;%月亮到地球的平均距离r2=3;%嫦娥一号到月亮的平均距离w1=1;%设置月亮公转角速度w2=12%设置嫦娥一号绕月亮公转角速度t=0;%初始时刻为pausetime=.002;%设置暂停时间sita1=0;sita2=0;%设置开始它们都在水平线上set(gcf,doublebuffer,on) %消除抖动plot(-20,18,color,r,marker,.,markersize,40);text(-17,18,地球);%对地球进行标识p1=plot(-20,16,color,b,marker,.,markersize,20);text(-17

6、,16,月亮);%对月亮进行标识p1=plot(-20,14,color,w,marker,.,markersize,13);text(-17,14,嫦娥一号);%对嫦娥一号进行标识plot(0,0,color,r,marker,.,markersize,60);%画地球plot(r1*cos(s1),r1*sin(s1);%画月亮公转轨道set(gca,xlim,-20 20,ylim,-20 20);p1=plot(r1*cos(sita1),r1*sin(sita1),color,b,marker,.,markersize,30);%画月亮初始位置l1=plot(r1*cos(sita1

7、)+r2*cos(s1),r1*sin(sita1)+r2*sin(s1);%画嫦娥一号绕月亮公转轨道p2x=r1*cos(sita1)+r2*cos(sita2);p2y=r1*sin(sita1)+r2*sin(sita2);p2=plot(p2x,p2y,w,marker,.,markersize,20);%画嫦娥一号的初始位置orbit=line(xdata,p2x,ydata,p2y,color,r);%画嫦娥一号的运动轨迹while 1set(p1,xdata,r1*cos(sita1),ydata,r1*sin(sita1);%设置月亮的运动过程set(l1,xdata,r1*c

8、os(sita1)+r2*cos(s1),ydata,r1*sin(sita1)+r2*sin(s1);%设置嫦娥一号绕月亮的公转轨道的运动过程ptempx=r1*cos(sita1)+r2*cos(sita2);ptempy=r1*sin(sita1)+r2*sin(sita2);set(p2,xdata,ptempx,ydata,ptempy);%设置嫦娥一号的运动过程p2x=p2x ptempx;p2y=p2y ptempy;set(orbit,xdata,p2x,ydata,p2y);%设置嫦娥一号运动轨迹的显示过程sita1=sita1+w1*pausetime;%月亮相对地球转过的

9、角度sita2=sita2+w2*pausetime;%嫦娥一号相对月亮转过的角度pause(pausetime); %暂停一会drawnowend3.曲柄连杆机构充气球动画演示程序hf=figure(name,打气筒吹气球);set(hf,color,g);axis(-10,10,-4,4);hold onaxis off; %除掉坐标xa0=-2.5;%活塞左顶点坐标xa1=-1.8;%活塞右顶点坐标xb0=-2;%连杆左顶点坐标xb1=5;%连杆右顶点坐标x3=5.6;%转轮坐标y3=0;%转轮坐标x4=xb1;%设置连杆头的初始位置横坐标y4=0;%设置连杆头的初始位置纵坐标x5=xa

10、1;y5=0;x6=x3;%设置连轴初始横坐标y6=0;%设置连轴初始纵坐标a=0.7;b=0.7c=0.7a1=line(xa0;xa1,0;0,color,m,linestyle,-,linewidth,20); %设置活塞a8=line(-2.7;2.3,0.3;0.3,color,b,linestyle,-,linewidth,5);%设置打气筒a9=line(-2.6;2.3,-0.3;-0.3,color,b,linestyle,-,linewidth,5);%设置打气筒a10=line(-2.6;-2.6,-0.1;-0.37,color,b,linestyle,-,linewi

11、dth,5);%设置打气筒a11=line(2.0;2.0,0.1;0.37,color,b,linewidth,5);%设置打气筒a12=line(2.0;2.0,-0.1;-0.37,color,b,linewidth,5);%设置打气筒a13=line(-2.6;-2.6,0.1;0.37,color,b,linestyle,-,linewidth,5);%设置打气筒a14=line(-2.7;-2.7,0.1;-0.1,color,b,linestyle,-,linewidth,9);%设置气筒嘴a16=line(-3.2;-3.2,0.1;-0.1,color,r,linestyle

12、,-,linewidth,25);%设置气筒嘴a2=line(xb0;xb1,0;0,color,m,linewidth,5);%设置连杆a5=line(x5,y5,color,black,linestyle,.,markersize,25);%设置连杆活塞连接头a4=line(x4,y4,color,black,linestyle,.,markersize,25);%设置连杆连接头a6=line(xb1;x3,0;0,color,b,linestyle,-,linewidth,7);%设置连杆连接轴a7=line(x3,0,color,m,linestyle,.,markersize,50)

13、;%设置运动中心a3=line(x3,y3,color ,0.5 0.6 0.3,linestyle,.,markersize,85);%设置手轮len1=6.8;%连杆长len2=0.7;%活塞长 r=1.3;%运动半径dd=0.01;d=-4;plot(d,0,color,r,marker,.,markersize,10);pausetime=.0001s=0;ds=1;t=0;dt=0.015*pi;while t0)s=s+ds;d=d-dd;if s200s=0;d=0;endset(gcf,doublebuffer,on);%消除震动 plot(d,0,color,r,marker

14、,.,markersize,s);%画气球set(gcf,doublebuffer,on) %消除抖动 pause(pausetime); %暂停一会drawnow;endendx=-8.0 -7.0 -6.0 -5.5 -4.5 -3.5 -3.7 -3 -4 -5.5 -6.5 -7.5 -9.1 -7.3 ;y=-1.8 -1.2 -2.8 -1.5 -2.8 -0.5 -0.7 0.7 0.2 1.5 0.8 1.2 1.9 0.5;fill(x,y,r); text(-6,0,pa,fontsize,22);4.打桩机动画演示程序clear; %清除工作区clc; %清除命令区fig

15、ure(name,武工院打桩机); %设置标题axis (0 ,10,0,10); %建立坐标系hold on;axis off; %除掉坐标text(3,9.8,武工院打桩机,fontsize,20,color,r);%画打桩机支架c1=line(1;5.5, 0.15;0.15,color,k,linewidth,8);c2=line(1.7;5.2, 1.5;0.15,color,k,linewidth,4);c3=line(1.8;5.2, 0.1;8,color,k,linewidth,4);c4=line(1.7;5.2, 1.5;8,color,k,linewidth,2);c5

16、=line(1.2;1.8, 0.5;0.5,color,k,linewidth,13);fill(4.9,5.3,5.3,4.9,8.0,8.0,0.3,0.3,1,0.1,0.5);fill(4.4,4.6,5.6,5.8,5.6,4.6,8.4,8.3,8.3,8.4,8.0,8.0,1,0.1,0.5)%画打桩机运动部分和水泥桩b1=line(8;8,1;6,color,b,linewidth,6);b2=line(5.5,5.5,7.9,8,color,k,linewidth,1);b3=line(5.3,5.55,7.9,7.9,color,k,linewidth,3);b4=li

17、ne(5.5,5.5,7.9,6.3,color,k,linewidth,3);b5=line(5.5,5.5,7,6.6,color,k,linewidth,10);b6=line(5.5,5.5,6.6,6.3,color,k,linewidth,12);pausetime=1.6; %设置暂停时间pause(pausetime);%吊装水泥桩s=0; ds=0.01;pausetime1=.002;while s2.5 %水泥桩向左移动s=s+ds;set(b1,xdata,8-s;8-s,ydata,1;6);pause(pausetime1);endpausetime2=1;paus

18、e(pausetime2);s=0; ds=0.01;while s1 %水泥桩向下移动s=s+ds;set(b1,xdata,5.5;5.5,ydata,1-s;6-s);pause(pausetime1);endpause(pausetime2);s=0; ds=0.01;while s1.3 %打桩机运动部分下移与水泥桩顶端相接触s=s+ds;set(b2,xdata,5.5;5.5,ydata,7.9-s,8);set(b3,xdata,5.3;5.55,ydata,7.9-s,7.9-s);set(b4,xdata,5.5;5.5,ydata,7.9-s,6.3-s);set(b5,

19、xdata,5.5;5.5,ydata,7-s,6.6-s);set(b6,xdata,5.5;5.5,ydata,6.6-s,6.3-s);pause(pausetime1);end%打桩机开始打桩pausetime3=.4;pause(pausetime2);s=0; ds=0.06; %设定打桩进度while s4a=0; da=0.01;pausetime4=.0002; while a.4 %两个子循环设置打桩机铁锺上下反复运动a=a+da;set(b5,xdata,5.5;5.5,ydata,5.7-s+a,5.3-s+a);pause(pausetime4);enda=0; wh

20、ile a,erasemode,xor,markersize,10);% %绘制箭头三角形pause(1);%下面是开关闭合的过程t=0;y=7.7;while y6.7 %电路总循环控制开关动作条件x=4+sqrt(2)*cos(pi/4*(1-t);y=6.7+sqrt(2)*sin(pi/4*(1-t);set(a,xdata,4;x,ydata,6.7;y);drawnow;t=t+0.1;end%下面是开关闭合后模拟大致电流流向的过程pause(1);light=line(10,4.3,color,y,marker,.,markersize,40,erasemode,xor);%画灯

21、丝发出的光:黄色%画电流的各部分h=line(1;1,5.2;5.6,color,r,linestyle,-,linewidth,4,erasemode,xor);g=line(1,5.7,color,b,linestyle,erasemode,xor,markersize,10);%给循环初值t=0;m2=5.7;n=5.7;while n6.3;%确定电流竖向循环范围m=1;n=0.05*t+5.7;set(h,xdata,m;m,ydata,n-0.5;n-0.1);set(g,xdata,m,ydata,n);t=t+0.01;drawnow;endt=0;while t2;%在转角处

22、的停顿时间m=1.2-0.2*cos(pi/4)*t);n=6.3+0.2*sin(pi/4)*t);set(h,xdata,m-0.5;m-0.1,ydata,n;n);set(g,xdata,m,ydata,n);t=t+0.05;drawnow;endt=0;while t,markersize,10,erasemode,xor); %绘制第二个箭头set(g,xdata,1.2,ydata,6.5);drawnow;endpause(0.5);t=0;while m8 % 确定第二个箭头的循环范围m=1.1+0.05*t;n=6.5;set(g,xdata,m+0.1,ydata,6.

23、5);set(h,xdata,m-0.4;m,ydata,6.5;6.5);t=t+0.05;drawnow;endt=0;while t2 %在转角后的停顿时间m=8.1+0.2*cos(pi/2-pi/4*t);n=6.3+0.2*sin(pi/2-pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n+0.1;n+0.5);t=t+0.05;drawnow;endt=0;while t,markersize,10,erasemode,xor);g=line(8.3,6.3,color,b,linestyle,v,markersize,

24、10,erasemode,xor);set(g,xdata,8.3,ydata,6.3);drawnow;endpause(0.5);t=0;while n1 %确定箭头的运动范围m=8.3;n=6.3-0.05*t;set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n+0.1;n+0.5);t=t+0.04;drawnow;endt=0;while t2%箭头的起始时间m=8.1+0.2*cos(pi/4*t);n=1-0.2*sin(pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m+0.1;m+0.5,ydat

25、a,n;n);t=t+0.05;drawnow;endt=0;while t0.5t=t+0.5;%绘制第四个箭头g=line(8.1,0.8,color,b,linestyle,v,markersize,10,erasemode,xor);g=line(8.1,0.8,color,b,linestyle,1.2 %箭头的运动范围m=8.1-0.05*t;n=0.8;set(g,xdata,m,ydata,n);set(h,xdata,m+0.1;m+0.5,ydata,n;n);t=t+0.04;drawnow;endt=0;while t2 %停顿时间m=1.2-0.2*sin(pi/4*

26、t);n=1+0.2*cos(pi/4*t);set(g,xdata,m,ydata,n);set(h,xdata,m;m+0.5,ydata,n-0.1;n-0.5);t=t+0.05;drawnow;endt=0;while t0.5 %画第五个箭头t=t+0.5;g=line(1,1,color,b,linestyle,markersize,10,erasemode,xor);g=line(1,1,color,b,linestyle,markersize,10,erasemode,xor);set(g,xdata,1,ydata,1);drawnow;endt=0;while n6.3

27、%循环范围m=1;n=1+0.05*t;set(g,xdata,m,ydata,n);set(h,xdata,m;m,ydata,n-0.5;n-0.1);t=t+0.04;drawnow;end%下面是开关断开后的情况t=0;y=6.7;while y7.7 %开关的断开x=4+sqrt(2)*cos(pi/4*t);y=6.7+sqrt(2)*sin(pi/4*t);set(a,xdata,4;x,ydata,6.7;y);drawnow;t=t+0.1;endpause(0.5);%开关延时作用nolight=line(10,4.3,color,y,marker,.,markersize

28、,40,erasemode,xor);end6.电梯动画演示程序figure(name,自控电梯);axis(-2.0,15.0,-2.0,15.0)hold onfill(-2,15,15,-2,-2,-2,15,15,0.5,0.2,0.3);x1=8 8 10 10;y1=6 0 0 6;x2=10 10 12 12;text(-1,8,上升,fontsize,10,color,c);text(4,8,下降,fontsize,10,color,c);text(6,12.5,控制电机,fontsize,10,color,c);text(12.5,3,电梯,fontsize,10,color

29、,c);text(5,4.5,关闭,fontsize,10,color,c);text(5,1.5,打开,fontsize,10,color,c); l1=line(2;5.5,11;11,color,c,linestyle,-,linewidth,2);l2=line(2;2,9;11,color,c,linestyle,-,linewidth,2);l3=line(1;1,7;9,color,c,linestyle,-,linewidth,2);l4=line(3;3,7;9,color,c,linestyle,-,linewidth,2);l5=line(1;3,9;9,color,c,linestyle,-,linewidth,2);%绘制导线k1=line(2;1,6;7,color,r,linestyle,-,linewidth,2);%单刀双掷开关k2=line(4;5,3;4,color,b,linestyle,-,linewidth,2);%单刀双掷开关g1=line(7.7;8,3;3,color,b,linestyle,-,linewidth,2);g2=line(7.7;7.7,3;4,color,b,linestyle,-,linewidth,2);g3=line(7.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服