平面六连杆机构的运动分析Matlab代码1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
平面六连杆机构的运动分析Matlab代码
clc,clear
%参数赋值
l1=40;
l2=55;
l3=55;
l4=22;
M=-1;%装配模式
omiga1=10;
theta1=0:1:360;
theta1=theta1*pi/180;
A=2*l1*l2*sin(theta1);
B=2*l2*(l1*cos(theta1)-l4);
C=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(theta1);
E=2*l1*l3*sin(theta1);
F=2*l3*(l1*cos(theta1)-l4);
G=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(theta1);
theta3=2*atan((E+M*sqrt(E.^2+F.^2-G.^2))./(F-G));
theta2=2*atan((A+M*sqrt(A.^2+B.^2-C.^2))./(B-C));
omiga2=omiga1*1*sin(theta1-theta3)./(l2*sin(theta3-theta2));
omiga3=omiga1*1*sin(theta1-theta2)./(l3*sin(theta3-theta2));
alph3=(omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2-omiga3.^2*l3.*...
cos(theta3-theta2))./(l3*sin(theta3-theta2));
alph2=(-omiga1^2*l1*cos(theta1-theta3)+omiga3.^2*l3-omiga3.^2*l2.*...
cos(theta2-theta3))./(l2*sin(theta2-theta3));
%绘图
theta1=theta1*180/pi;
theta3=theta3*180/pi
subplot(3,1,1)
plot(theta1,theta3),grid on
xlabel('曲柄转角(^。)');ylabel('CD角位移(rad)');
subplot(3,1,2)
plot(theta1,omiga3),grid on
xlabel('曲柄转角(^。)');ylabel('CD角速度(rad/s)');
subplot(3,1,3)
plot(theta1,alph3),grid on
xlabel('曲柄转角(^。)');ylabel('CD角加速度(rad/s^2)')
clc,clear
%参数赋值
l1=39;
l2=55;
l3=56;
l4=23;
M=-1;%装配模式
omiga1=10;
theta1=0:1:360;%原动件角位移
theta1=theta1*pi/180;
A=2*l1*l2*sin(theta1);
B=2*l2*(l1*cos(theta1)-14);
C=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(theta1);
E=2*l1*l3*sin(theta1);
F=2*l3*(l1*cos(theta1)-l4);
G=12^2-l1^2-l3^2-l4^2+2*l1*l4*cos(theta1);
theta3=2*atan((E+M*sqrt(E.^2+F.^2-G.^2))./(F-G));%摇杆角位移theta2=2*atan((A+M*sqrt(A.^2+B.^2-C.^2))./(B-C));%连杆角位移
omiga2=omiga1*l1*sin(theta1-theta3)./(l2*sin(theta3-theta2));%连杆角速度
omiga3=omiga1*l1*sin(theta1-theta2)./(l3*sin(theta3-theta2));%摇杆角速度%摇杆角加速度
alph3=(omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2-omiga3.^2*l3.*...
cos(theta3-theta2))./(l3*sin(theta3-theta2));
%连杆角加速度
alph2=(-omiga1^2*l1*cos(theta1-theta3)+omiga3.^2*l3-omiga2.^2*l2.*...
cos(theta2-theta3))./(l2*sin(theta2-theta3));
%绘图
theta1=theta1*180/pi;
subplot(3,1,1)
plot(theta1,theta2*180/pi),grid on
xlabel('曲柄转角(^o)');ylabel('连杆角位移(rad)');
subplot(3,1,2)
plot(theta1,omiga2),grid on
xlabel('曲柄转角(^o)');ylabel('连杆角速度(rad/s)');
subplot(3,1,3)
plot(theta1,alph2),grid on
xlabel('曲柄转角(^o)');ylabel('连杆角加速度(rad/s^2)')
clc,clear