物理-曲柄滑块机构的运动分析-matlab(共5页).doc
精选优质文档-倾情为你奉上 子函数%子函数slider_crank文件 functiontheta2,s3,omega2,v3,alpha2,a3=slider_crank(theta1,omega1,alpha1,l1,l2,e) %计算连杆2的角位移和滑块3的线位移 theta2=asin(e-l1*sin(theta1)/l2); s3=l1*cos(theta1)+l2*cos(theta2); %计算连杆2的角为速度和滑块的线速度 A=-l1*sin(theta1),1;-2*cos(theta2),0; B=-l1*sin(theta1);l1*cos(theta1); omega=A(omega1*B); omega2=omega(1); v3=omega(2); %计算连杆2的角加速度和滑块3的线加速度 At=omega2*l2*cos(theta2),0; omega2*l2*sin(theta2),0; Bt=-omega1*l1*cos(theta1); -omega1*l1*sin(theta1); alpha=A(-At*omega+alpha1*B+omega1*Bt); alpha2=alpha(1); a3=alpha(2); 主函数%住程序slider_crank_main文件%输入已经知道的数据clear;l1=100;l2=300;e=0;hd=pi/180;du=180/pi;omega1=10; alpha1=0;%调用子函数slider_ank计算曲柄滑块机构位移,速度,加速度for n1=1:720 theta1(n1)=(n1-1)*hd; theta2(n1),s3(n1),omega2(n1),v3(n1),alpha2(n1),a3(n1)=slider_crank. (theta1(n1),omega1,alpha1,l1,l2,e);end%位移,速度,加速度和曲柄滑块机构图形输出figure(l1);n1=1:720;subplot(2,2,1); %绘制位移图 AX,H1,H2=plotyy(theta1*du,theta2*du,theta1*du,s3);set(get(AX(1),'ylabel'),'String','连杆角位移/circ')set(get(AX(2),'ylabel'),'String','滑块位移/mm')title('位移线图');xlabel('曲柄转角theta_1/circ')grid on; subplot(2,2,2); %绘制速度图 AX,H1,H2=plotyy(theta1*du,omega2,theta1*du,v3);set(get(AX(2),'ylabel'),'String','滑块速度/mmcdots-1')title('速度线图');xlabel('曲柄转角theta_1/circ')ylabel('连杆角速度/radcdots-1')grid on; subplot(2,2,3); %绘制加速度图 AX,H1,H2=plotyy(theta1*du,alpha2,theta1*du,a3);set(get(AX(2),'ylabel'),'String','滑块加速度/mmcdots-2')title('加速度线图');xlabel('曲柄转角theta_1/circ')ylabel('连杆加速度/radcdots-2')grid on; subplot(2,2,4);%绘曲柄滑块机构图x(1)=0;y(1)=0;x(2)=l1*cos(70*hd);y(2)=l1*sin(70*hd);x(3)=s3(70);y(3)=e;x(4)=s3(70);y(4)=0;x(5)=0;y(5)=0;x(6)=x(3)-40;y(6)=y(3)+10;x(7)=x(3)+40;y(7)=y(3)+10;x(8)=x(3)+40;y(8)=y(3)-10;x(9)=x(3)-40;y(9)=y(3)-10;x(10)=x(3)-40;y(10)=y(3)+10; i=1:5;plot(x(i),y(i);grid on;hold on;i=6:10;plot(x(i),y(i);title('曲柄滑块机构');grid on;hold on;xlabel('mm');ylabel('mm')axis(-50 400 -20 130);plot(x(1),y(1),'o');plot(x(2),y(2),'o');plot(x(3),y(3),'o'); %曲柄滑块的仿真运动figure(2)m=moviein(20);j=0; for n1=1:5:360 j=j+1; clf; % x(1)=0; y(1)=0; x(2)=l1*cos(n1*hd); y(2)=l1*sin(n1*hd); x(3)=s3(n1); y(3)=e; x(4)=(l1+l2+50); y(4)=0; x(5)=0; y(5)=0; x(6)=x(3)-40; y(6)=y(3)+10; x(7)=x(3)+40; y(7)=y(3)+10; x(8)=x(3)+40; y(8)=y(3)-10; x(9)=x(3)-40; y(9)=y(3)-10; x(10)=x(3)-40; y(10)=y(3)+10; % i=1:3; plot(x(i),y(i); grid on; hold on; i=4:5; plot(x(i),y(i); i=6:10; plot(x(i),y(i); plot(x(1),y(1),'o'); plot(x(2),y(2),'o'); plot(x(3),y(3),'o'); xlabel('mm'); ylabel('mm') axis(-50 450 -150 150); m(j)=getframe;endmovie(m)专心-专注-专业