MATLAB动画演示效果
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB动画演示效果一
%曲柄滑块机构
hf=figure('name','曲柄滑块机构');
set(hf,'color','g');
hold on
axis([-6,6,-4,4]);
grid on
axis('off');
xa0=-5;%活塞左顶点坐标
xa1=-2.5;%活塞右顶点坐标
xb0=-2.5;%连杆左顶点坐标
xb1=2.2;%连杆右顶点坐标
x3=3.5;%转轮坐标
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],'color','b','linestyle','-','linewidth',40); %设置活塞
a3=line(x3,y3,'color',[0.5 0.6 0.3],'linestyle','.','markersize',300);%设置转轮
a2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%设置连杆
a5=line(x5,y5,'color','black','linestyle','.','markersize',40);%设置连杆活塞连接头
a4=line(x4,y4,'color','black','linestyle','.','markersize',50);%设置连杆连接头
a6=line([xb1;x3],[0;0],'color','black','linestyle','-','linewidth',10);
a7=line(x3,0,'color','black','linestyle','.','markersize',50);%设置运动中心
a8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a9=line([-5.1;-0.2],[-0.72;-0.72],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a10=line([-5.1;-5.1],[-0.8;0.75],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);%设置汽缸气体
len1=4.8;%连杆长
len2=2.5;%活塞长
r=1.3;%运动半径
dt=0.015*pi;
t=0;
while 1
t=t+dt;
if t>2*pi
t=0;
end
lena1=sqrt((len1)^2-(r*sin(t))^2);%连杆在运动过程中横轴上的有效长度
rr1=r*cos(t);%半径在运动过程中横轴上的有效长度
xaa1=x3-sqrt(len1^2-(sin(t)*r)^2)-(r*cos(t));%活塞在运动过程中的右顶点坐标位置xaa0=xaa1-2.5;%%活塞在运动过程中的左顶点坐标位置
x55=x3-cos(t)*r;%连杆在运动过程中横坐标位置
y55=y3-sin(t)*r;%连杆在运动过程中纵坐标位置
set(a4,'xdata',x55,'ydata',y55);%设置连杆顶点运动
set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);%设置活塞运动
set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);
set(a5,'xdata',xaa1);%设置活塞与连杆连接头的运动
set(a6,'xdata',[x55;x3],'ydata',[y55;0]);
set(a11,'xdata',[-5,xaa0,xaa0,-5]);%设置气体的填充
set(gcf,'doublebuffer','on');%消除震动
drawnow;
end
文献出处:/blog/static/13485835420091124584320/
MATLAB动画效果演示二
MATLAB 2009-12-24 17:15:48 阅读135 评论0 字号:大中小订阅
%理想弹簧阵子简谐运动
%Clear
rectangle('position',[12,8.5,2,0.3],'FaceColor',[0.5,0.3,0.4]);
axis([0,15,-1,10]);
%画顶板
hold on
plot([13,13],[7,8.5],'r','linewidth',2);
%画直线
y=2:.2:7;
M=length(y);
x=12+mod(1:M,2)*2;
x(1)=13;
x(end-3:end)=13;
D=plot(x,y);
%弹簧
C=0:.1:2*pi;r=0.35;
t1=r*sin(C);
F1=fill(13+r*cos(C),2+t1,'r');
% 球
set(gca,'ytick',[0:2:9]);
set(gca,'yticklabels',num2str([-1:3]'));
plot([0,15],[3.3,3.3],'black');
H1=plot([0,13],[3.3,3.3],'y');
% 句柄[黄线]
Q=plot(0,3.8,'color','r');
% 运动曲线;
td=[];yd=[];
T=0;
text(2,9,'理想中的弹簧振子简谐振动','fontsize',16);
set(gcf,'doublebuffer','on');
while T<12;
pause(0.2);
Dy=(3/2-1/2*sin(pi*T))*1/2;
Y=-(y-2)*Dy+7;
Yf=Y(end)+t1;
td=[td,T];yd=[yd,Y(end)];
set(D,'ydata',Y);
set(F1,'ydata',Yf,'facecolor',rand(1,3));
set(H1,'xdata',[T,13],'ydata',[Y(end),Y(end)]);
set(Q,'xdata',td,'ydata',yd) ;
T=T+0.1;
end
文献出处:/blog/static/1348583542009112451548632/