MATLAB动画演示效果

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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/

相关文档
最新文档