有趣的MATLAB动画演示程序汇总(共37页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《有趣的MATLAB动画演示程序汇总(共37页).doc》由会员分享,可在线阅读,更多相关《有趣的MATLAB动画演示程序汇总(共37页).doc(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.0
2、5,0.2,0.2,'g');fill(-3.2,-1.4,-1.4,-3.2,0.2,0.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、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,'color','g','linestyle','-', 'markersize',50)%设置台阶边框线,颜色,擦试方式%line(-5,5,0.5,0.5,'color','b','linestyle','-'
4、, 'markersize',50)%设置球与地面接触面的颜色,擦试方式%line(-5,5,0.75,0.75,'color','b','linestyle','-', 'markersize',50)%设置球与地面接触面的颜色,擦试方式head=line(-5,1,'color','r','linestyle','.','erasemode','xor', 'markersize',6
5、0);%设置小球颜色,大小,线条和擦试方式%body=line(-5,1,'color','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<=1w=dw+w;elsew=-1;endy=(-w*w)+1;set(head,'xdata',t,'y
6、data',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=0;%设置球弹起的初始位置%设置球弹起的高度while t>=2.11t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序
7、w=0;%设置球弹起的初始位置%设置球弹起的高度while t>=1.11t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)/4+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-0.62t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w
8、)/2+1;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-2.31t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)/2+0.75;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata&
9、#39;,t,'ydata',y);%描绘轨迹线drawnow;end %结束程序w=-0.71;%设置球弹起的初始位置%设置球弹起的高度while t>=-4t=t-dt;if w<=1w=dw+w;elsew=-1;endy=(-w*w)/2+0.5;set(head,'xdata',t,'ydata',y);%设置球的运动%set(body,'xdata',t,'ydata',y);%描绘轨迹线drawnow;end %结束程序for i=0:0.01:200%设置延时y=i+2;if(y>
10、199)endendend2.嫦娥奔月演示程序figure('name','嫦娥一号与月亮、地球关系');%设置标题名字s1=0:.01:2*pi;hold on;axis equal;%建立坐标系axis off % 除掉Axesr1=10;%月亮到地球的平均距离r2=3;%嫦娥一号到月亮的平均距离w1=1;%设置月亮公转角速度w2=12%设置嫦娥一号绕月亮公转角速度t=0;%初始时刻为pausetime=.002;%设置暂停时间sita1=0;sita2=0;%设置开始它们都在水平线上set(gcf,'doublebuffer','o
11、n') %消除抖动plot(-20,18,'color','r','marker','.','markersize',40);text(-17,18,'地球');%对地球进行标识p1=plot(-20,16,'color','b','marker','.','markersize',20);text(-17,16,'月亮');%对月亮进行标识p1=plot(-20,14,'color
12、9;,'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
13、*cos(sita1),r1*sin(sita1),'color','b','marker','.','markersize',30);%画月亮初始位置l1=plot(r1*cos(sita1)+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','
14、;.','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*cos(sita1)+r2*cos(s1),'ydata',r1*sin(sita1)+r2*
15、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;%月亮相对地球转过的角度si
16、ta2=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;%设
17、置连杆头的初始位置横坐标y4=0;%设置连杆头的初始位置纵坐标x5=xa1;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&
18、#39;,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','-','linewidth',5);%设置打气筒a11=line(2.0;2.0,0.1;0.37,'color','b
19、9;,'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','lines
20、tyle','-','linewidth',9);%设置气筒嘴a16=line(-3.2;-3.2,0.1;-0.1,'color','r','linestyle','-','linewidth',25);%设置气筒嘴a2=line(xb0;xb1,0;0,'color','m','linewidth',5);%设置连杆a5=line(x5,y5,'color','black','line
21、style','.','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,'col
22、or','m','linestyle','.','markersize',50);%设置运动中心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','.
23、','markersize',10);pausetime=.0001s=0;ds=1;t=0;dt=0.015*pi;while t<=15.68t=t+dt;drawnow;lena1=sqrt(len1)2-(r*sin(2*t)2);%连杆在运动过程中横轴上的有效长度rr1=r*cos(t);%半径在运动过程中横轴上的有效长度xaa1=x3-sqrt(len12-(sin(2*t)*r)2)-(r*cos(2*t);%活塞在运动过程中的右顶点坐标位置xaa0=xaa1-2;%活塞在运动过程中的左顶点坐标位置x55=x3-cos(2*t)*r;%连杆在运动过程
24、中横坐标位置y55=y3-sin(2*t)*r*0.32;%连杆在运动过程中纵坐标位置set(a4,'xdata',x55,'ydata',y55);%设置连杆顶点运动set(a1,'xdata',xaa1-0.2;xaa1,'ydata',0;0);%设置活塞运动set(a2,'xdata',xaa1;x55,'ydata',0;y55);set(a5,'xdata',xaa1);%设置活塞与连杆连接头的运动set(a6,'xdata',x55;x3,'yd
25、ata',y55;0);if (sign(y55-y3)>0)s=s+ds;d=d-dd;if s>200s=0;d=0;endset(gcf,'doublebuffer','on');%消除震动 plot(d,0,'color','r','marker','.','markersize',s);%画气球set(gcf,'doublebuffer','on') %消除抖动 pause(pausetime); %暂停一会drawnow
26、;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; %清除命令区figure('name','武工院打桩机); %设置标题axis (0 ,10,0,
27、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,'
28、;color','k','linewidth',4);c4=line(1.7;5.2, 1.5;8,'color','k','linewidth',2);c5=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
29、,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=line(5.5,5.5,7.9,6.3,'color','k','linew
30、idth',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 s<2.5 %水泥桩向左移动s=s+ds;set(b1,'xdata',8-s;8-s,
31、39;ydata',1;6);pause(pausetime1);endpausetime2=1;pause(pausetime2);s=0; ds=0.01;while s<1 %水泥桩向下移动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 s<1.3 %打桩机运动部分下移与水泥桩顶端相接触s=s+ds;set(b2,'xdata',5.5;5.5,'yda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有趣 MATLAB 动画 演示 程序 汇总 37
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内