您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 曲柄滑块机构MATLAB2015b动画仿真
曲柄滑块机构MATLAB动画仿真程序1曲柄滑块机构MATLAB2015b动画仿真图1曲柄滑块的简图上图是曲柄滑块的简图,其中x1是滑块左端的横坐标,x2是滑块右端的横坐标,也是滑块和连杆连接处铰链的坐标,x3是连杆和曲柄连接处的铰链,x4是连接曲柄和转轮铰链的横坐标,y1是纵坐标。定义曲柄滑块的参数p=[x1,x2,x3,x4,y1],使用此参数进行MATLAB动画仿真。参考程序见下页。y1x1x2x3x4曲柄滑块机构MATLAB动画仿真程序2%本程序是曲柄滑块机构MATLAB动画仿真程序%作者:未知%创建日期:未知%修改人:鲁鹏%修改日期:2017年4月27日%软件版本:MATLAB2015bp=[-5,-2.5,2.2,3.5,0];%输入曲柄滑块参数pn=5;%设置曲柄旋转圈数h=figure('name','曲柄滑块机构');%设置图形的名称,返回图形的句柄h.Color='g';%设置图形背景颜色holdon%保留当前坐标中的图形axis([-6,6,-4,4]);%设置坐标轴的范围,x从-6到6,y从-4到4axis('off');%不显示坐标轴h1=line([p(1);p(2)],[p(5);p(5)],'color','b','linestyle','-','linewidth',40);%设置活塞初始位置及属性h2=line(p(4),p(5),'color',[0.50.60.3],'Marker','.','markersize',300);%设置转轮位置及属性h3=line([p(2);p(3)],[p(5);p(5)],'color','black','linewidth',10);%设置连杆初始位置及属性h4=line(p(3),p(5),'color','black','Marker','.','markersize',50);%设置连接连杆和曲柄的铰链的初始位置及属性曲柄滑块机构MATLAB动画仿真程序3h5=line(p(2),p(5),'color','black','Marker','.','markersize',40);%设置连接连杆和活塞的铰链的初始位置及属性h6=line([p(3);p(4)],[p(5);p(5)],'color','black','linestyle','-','linewidth',10);%设置曲柄初始位置及属性h7=line(p(4),p(5),'color','k','Marker','.','markersize',50);%设置连接曲柄和转轮的铰链的初始位置及属性h8=line([-5.1,-0.2],[0.7,0.7]+p(5),'color','y','linestyle','-','linewidth',5);%设置汽缸上壁h9=line([-5.1,-0.2],[-0.72,-0.72]+p(5),'color','y','linestyle','-','linewidth',5);%设置汽缸下壁h10=line([-5.1,-5.1],[-0.8,0.75]+p(5),'color','y','linestyle','-','linewidth',5);%设置汽缸左侧壁h11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61]+p(5),[0.9,0.9,0.9]);%设置汽缸气体H=p(2)-p(1);%活塞长L=p(3)-p(2);%连杆长LR=p(4)-p(3);%运动半径R,也就是曲柄长d_theta=0.015*pi;%设置每次循环theta的增量theta=0;%初始化thetap_copy=p;%把曲柄滑块的参数赋值给p_copy%以下for循环可以改变曲柄旋转的圈数fori=1:2*n*pi/d_thetatheta=theta+d_theta;%如果theta大于2*pi将0赋值给theta曲柄滑块机构MATLAB动画仿真程序4iftheta2*pitheta=0;endLx=sqrt((L)^2-(R*sin(theta))^2);%连杆在运动过程中横轴x上的有效长度LxRx=R*cos(theta);%曲柄在运动过程中横轴x上的有效长度Rxp_copy(2)=p_copy(4)-Lx-Rx;%活塞在运动过程中的其右顶点横坐标p_copy(1)=p_copy(2)-H;%活塞在运动过程中的左顶点横坐标p_copy(3)=p_copy(4)-R*cos(theta);%连杆与曲柄连接处的铰链在运动过程中的横坐标y=p_copy(5)+R*sin(theta);%连杆与曲柄连接处的铰链在运动过程中的纵坐标,改变R*sin(theta)的符号可以改变曲柄转向set(h1,'xdata',[p_copy(2)-H;p_copy(2)],'ydata',[p_copy(5);p_copy(5)]);%更改h1确定的图形(活塞)的参数set(h3,'xdata',[p_copy(2);p_copy(3)],'ydata',[p_copy(5);y]);%更改句柄h3所确定的图形(连杆)的参数set(h4,'xdata',p_copy(3),'ydata',y);%更改句柄h4所确定的图形(连接连杆和曲柄的铰链)的参数set(h5,'xdata',p_copy(2));%更改句柄h5所确定的图形(连接连杆和活塞的铰链)的参数set(h6,'xdata',[p_copy(3);p_copy(4)],'ydata',[y;p_copy(5)]);%更改句柄h6所确定的图形(曲柄)的参数set(h11,'xdata',[-5,p_copy(1),p_copy(1),-5]);%更改句柄h11所确定的图形(汽缸内的气体)的参数set(gcf,'doublebuffer','on');%消除震动drawnow;end
本文标题:曲柄滑块机构MATLAB2015b动画仿真
链接地址:https://www.777doc.com/doc-3826030 .html