matlab动画演示17个实例Word下载.docx
《matlab动画演示17个实例Word下载.docx》由会员分享,可在线阅读,更多相关《matlab动画演示17个实例Word下载.docx(47页珍藏版)》请在冰豆网上搜索。
while1
t=4;
dt=0.001;
w=0;
dw=0.001;
%设置球弹起的初始位置
%设置球弹起的高度
whilet<
=4.12
t=dt+t;
ifw<
=1
w=dw+w;
else
w=-1;
end
y=(-w*w)+1;
set(head,'
xdata'
t,'
ydata'
y);
%设置球的运动
%set(body,'
%描绘轨迹线
drawnow;
end%结束程序
whilet>
=2.11
t=t-dt;
=1.11
y=(-w*w)/4+1;
w=-0.71;
=-0.62
y=(-w*w)/2+1;
=-2.31
y=(-w*w)/2+0.75;
=-4
y=(-w*w)/2+0.5;
fori=0:
0.01:
200%设置延时
y=i+2;
if(y>
199)
end
2.嫦娥奔月演示程序
figure('
name'
嫦娥一号与月亮、地球关系'
%设置标题名字
s1=[0:
.01:
2*pi];
axisequal;
%建立坐标系
axisoff
%除掉Axes
r1=10;
%月亮到地球的平均距离
r2=3;
%嫦娥一号到月亮的平均距离
w1=1;
%设置月亮公转角速度
w2=12%设置嫦娥一号绕月亮公转角速度
t=0;
%初始时刻为0
pausetime=.002;
%设置暂停时间
sita1=0;
sita2=0;
%设置开始它们都在水平线上
set(gcf,'
doublebuffer'
on'
)%消除抖动
plot(-20,18,'
marker'
40);
text(-17,18,'
地球'
%对地球进行标识
p1=plot(-20,16,'
20);
text(-17,16,'
月亮'
%对月亮进行标识
p1=plot(-20,14,'
w'
13);
text(-17,14,'
嫦娥一号'
%对嫦娥一号进行标识
plot(0,0,'
%画地球
plot(r1*cos(s1),r1*sin(s1));
%画月亮公转轨道
set(gca,'
xlim'
[-2020],'
ylim'
[-2020]);
p1=plot(r1*cos(sita1),r1*sin(sita1),'
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,'
%画嫦娥一号的初始位置
orbit=line('
p2x,'
p2y,'
%画嫦娥一号的运动轨迹
set(p1,'
r1*cos(sita1),'
r1*sin(sita1));
%设置月亮的运动过程
set(l1,'
r1*cos(sita1)+r2*cos(s1),'
r1*sin(sita1)+r2*sin(s1));
%设置嫦娥一号绕月亮的公转轨道的运动过程
ptempx=r1*cos(sita1)+r2*cos(sita2);
ptempy=r1*sin(sita1)+r2*sin(sita2);
set(p2,'
ptempx,'
ptempy);
%设置嫦娥一号的运动过程
p2x=[p2xptempx];
p2y=[p2yptempy];
set(orbit,'
p2y);
%设置嫦娥一号运动轨迹的显示过程
sita1=sita1+w1*pausetime;
%月亮相对地球转过的角度
sita2=sita2+w2*pausetime;
%嫦娥一号相对月亮转过的角度
pause(pausetime);
%暂停一会
drawnow
3.曲柄连杆机构充气球动画演示程序
hf=figure('
打气筒吹气球'
set(hf,'
axis([-10,10,-4,4]);
holdon
axisoff;
%除掉坐标
xa0=-2.5;
%活塞左顶点坐标
xa1=-1.8;
%活塞右顶点坐标
xb0=-2;
%连杆左顶点坐标
xb1=5;
%连杆右顶点坐标
x3=5.6;
%转轮坐标
y3=0;
x4=xb1;
%设置连杆头的初始位置横坐标
y4=0;
%设置连杆头的初始位置纵坐标
x5=xa1;
y5=0;
x6=x3;
%设置连轴初始横坐标
y6=0;
%设置连轴初始纵坐标
a=0.7;
b=0.7
c=0.7
a1=line([xa0;
xa1],[0;
0],'
m'
linewidth'
%设置活塞
a8=line([-2.7;
2.3],[0.3;
0.3],'
5);
%设置打气筒
a9=line([-2.6;
2.3],[-0.3;
-0.3],'
a10=line([-2.6;
-2.6],[-0.1;
-0.37],'
a11=line([2.0;
2.0],[0.1;
0.37],'
a12=line([2.0;
2.0],[-0.1;
a13=line([-2.6;
-2.6],[0.1;
a14=line([-2.7;
-2.7],[0.1;
-0.1],'
9);
%设置气筒嘴
a16=line([-3.2;
-3.2],[0.1;
25);
a2=line([xb0;
xb1],[0;
%设置连杆
a5=line(x5,y5,'
black'
%设置连杆活塞连接头
a4=line(x4,y4,'
%设置连杆连接头
a6=line([xb1;
x3],[0;
7);
%设置连杆连接轴
a7=line(x3,0,'
50);
%设置运动中心
a3=line(x3,y3,'
[0.50.60.3],'
85);
%设置手轮
len1=6.8;
%连杆长
len2=0.7;
%活塞长
r=1.3;
%运动半径
dd=0.01;
d=-4;
plot(d,0,'
10);
pausetime=.0001
s=0;
ds=1;
dt=0.015*pi;
=15.68
t=t+dt;
drawnow;
lena1=sqrt((len1)^2-(r*sin(2*t))^2);
%连杆在运动过程中横轴上的有效长度
rr1=r*cos(t);
%半径在运动过程中横轴上的有效长度
xaa1=x3-sqrt(len1^2-(sin(2*t)*r)^2)-(r*cos(2*t));
%活塞在运动过程中的右顶点坐标位置
xaa0=xaa1-2;
%%活塞在运动过程中的左顶点坐标位置
x55=x3-cos(2*t)*r;
%连杆在运动过程中横坐标位置
y55=y3-sin(2*t)*r*0.32;
%连杆在运动过程中纵坐标位置
set(a4,'
x55,'
y55);
%设置连杆顶点运动
set(a1,'
[xaa1-0.2;
xaa1],'
[0;
0]);
%设置活塞运动
set(a2,'
[xaa1;
x55],'
y55]);
set(a5,'
xaa1);
%设置活塞与连杆连接头的运动
set(a6,'
[x55;
x3],'
[y55;
if(sign(y55-y3)>
0)
s=s+ds;
d=d-dd;
ifs>
200
d=0;
%消除震动
s);
%画气球
)%消除抖动
x=[-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.70.70.21.50.8
1.21.9
0.5];
fill(x,y,'
text(-6,0,'
pa'
fontsize'
22);
4.打桩机动画演示程序
clear;
%清除工作区
clc;
%清除命令区
武工院打桩机);
%设置标题
axis([0,10,0,10]);
text(3,9.8,'
武工院打桩机'
20,'
%画打桩机支架
c1=line([1;
5.5],[0.15;
0.15],'
k'
8);
c2=line([1.7;
5.2],[1.5;
4);
c3=line([1.8;
5.2],[0.1;
8],'
c4=line([1.7;
2);
c5=line([1.2;
1.8],[0.5;
0.5],'
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],'
6);
b2=line([5.5,5.5],[7.9,8],'
1);
b3=line([5.3,5.55],[7.9,7.9],'
3);
b4=line([5.5,5.5],[7.9,6.3],'
b5=line([5.5,5.5],[7,6.6],'
b6=line([5.5,5.5],[6.6,6.3],'
12);
pausetime=1.6;
%吊装水泥桩
ds=0.01;
pausetime1=.002;
whiles<
2.5
%水泥桩向左移动
set(b1,'
[8-s;
8-s],'
[1;
6]);
pause(pausetime1);
pausetime2=1;
pause(pausetime2);
1
%水泥桩向下移动
[5.5;
5.5],'
[1-s;
6-s]);
1.3
%打桩机运动部分下移与水泥桩顶端相接触
set(b2,'
[7.9-s,8]);
set(b3,'
[5.3;
5.55],'
[7.9-s,7.9-s]);
set(b4,'
[7.9-s,6.3-s]);
set(b5,'
[7-s,6.6-s]);
set(b6,'
[6.6-s,6.3-s]);
%打桩机开始打桩
pausetime3=.4;
ds=0.06;
%设定打桩进度
4
a=0;
da=0.01;
pausetime4=.0002;
whilea<
.4
%两个子循环设置打桩机铁锺上下反复运动
a=a+da;
set(b5,'
[5.7-s+a,5.3-s+a]);
pause(pausetime4);
.4
[6.1-s-a,5.7-s-a]);
%打桩机运动部分与水泥桩同时向下移动
5-s]);
[6.6-s,8]);
[6.6-s,6.6-s]);
[6.6-s,5-s]);
[5.7-s,5.3-s]);
[5.3-s,5-s]);
pause(pausetime3);
5.电路演示程序
基本电路的模拟'
axis([-3,12,0,10]);
holdon
%保持当前图形的所有特性
%关闭所有轴标注和控制
%下面是画电池的过程
fill([-1.5,-1.5,1.5,1.5],[1,5,5,1],[0.5,1,1]);
%确定坐标轴范围并填充
fill([-0.5,-0.5,0.5,0.5],[5,5.5,5.5,5],[0,0,0]);
%确定坐标轴范围并填充
text(-0.5,1.5,'
负极'
%在坐标上标注说明文字
text(-0.5,3,'
电池'
%在坐标上标注说明文字
text(-0.5,4.5,'
正极'
%下面是画导电线路的过程
plot([0;
0],[5.5;
6.7],'
%绘制二维图形线竖实心红色
4],[6.7;
%绘制二维图形线
实心红色为导线
a=line([4;
5],[6.7;
7.7],'
4,'
%画开关蓝色
plot([5.2;
9.2],[6.7;