机械原理第一次作业(matlab7.0): 求:r1 旋转360°时,θ2,θ3,ω2,ω3,α2,α3 和 C 点的加速度. 设 r1=400,r2=1000,r3=700,r4=1200 1、角位移的 M 函数: function y=jweiyi(x) % Input parameters % x(1)=theta-1 % x(2)=theta-2 guess value % x(3)=theta-3 guess value % x(4)=r1 % x(5)=r2 % x(6)=r3 % x(7)=r4 % Output parameters % y(1)=theta-2 % y(2)=theta-3 theta2=x(2); theta3=x(3); % epsilon=1.0E-6; % f=[x(4)*cos(x(1))+x(5)*cos(theta2)-x(7)-x(6)*cos(theta3); x(4)*sin(x(1))+x(5)*sin(theta2)-x(6)*sin(theta3)]; % while norm(f)>epsilon J=[-x(5)*sin(theta2) x(6)*sin(theta3);x(5)*cos(theta2) -x(6)*cos(theta3)]; dth=inv(J)*(-1.0*f); theta2=theta2+dth(1); theta3=theta3+dth(2); f=[x(4)*cos(x(1))+x(5)*cos(theta2)-x(7)-x(6)*cos(theta3); x(4)*sin(x(1))+x(5)*sin(theta2)-x(6)*sin(theta3)]; norm(f); end; y(1)=theta2; y(2)=theta3; r1 旋转360°时,θ2,θ3 的 M 文件程序: r(1)=400; r(2)=1000; r(3)=700; r(4)=1200; dr=pi/180; th(1)=0; th(2)=44.0486*dr; th(3)=96.6654*dr; y=jweiyi([th(1),th(2),th(3),r(1),r(2),r(3),r(4)]) dth=1*dr; for i=1:360 y=jweiyi([th(1),th(2),th(3),r(1),r(2),r(3),r(4)]); th23(i,:)=[th(1)/dr,th(2)/dr,th(3)/dr]; th(1)=th(1)+dth; th(2)=y(1); th(3)=y(2); end figure(1) plot(th23(:,1),th23(:,2),th23(:,1),th23(:,3),th23(:,1),th23(:,1)) axis([0,360,0,360]) grid on title('角位移线图') xlabel('曲柄转角 th(1)') ylabel('从动件转角 th(2),th(3)') text(300,50,'角 th(2)') text(300,150,'角 th(3)') text(200,200,'角 th(1)') 2、角速度的M 函数: function y=rrrvel(x) % Iput parameters % % x(1)=theta-1 % x(2)=theta-2 % x(3)=theta-3 % x(4)=dtheta-1 % x(5)=r1 % x(6)=r2 % x(7)=r3 % % Output parameters % % y(1)=dtheta-2 % y(2)=dtheta-3 % A=[-x(6)*sin(x(2)) x(7)*sin(x(3)); x(6)*cos(x(2)) -x(7)*cos(x(3))]; B=[x(5)*sin(x(1));-x(5)*cos(x(1))]*x(4); y=inv(A)*B; ω2,ω3 r1 旋转360°时ω2,ω3 的M 文件程序: th(1)=0; dr=pi/180; dth(1)=10; dth(2)=44.0486*d...