01-连杆机构的运动设计-2.m

来自「MATLAb 机械源码文件好东西啊」· M 代码 · 共 32 行

M
32
字号
% 实现连架杆角位移(3组)的连杆机构运动设计
% 已知条件
f0=0;p0=0;                % 连架杆初始位置角
[f]=[45 90 135]*pi/180;   % 曲柄输入角
[p]=[52 82 112]*pi/180;   % 摇杆输出角
% 杆件相对长度参数R1、R2和R3的系数矩阵
a1=[1 -cos(f(1)+f0) cos(p(1)+p0)];
a2=[1 -cos(f(2)+f0) cos(p(2)+p0)];
a3=[1 -cos(f(3)+f0) cos(p(3)+p0)];
a=[a1;a2;a3]
% 线性方程组右边的常数矩阵
b1=[cos(f(1)-p(1))+(f0+p0)];
b2=[cos(f(2)-p(2))+(f0+p0)];
b3=[cos(f(3)-p(3))+(f0+p0)];
b=[b1 b2 b3]'
% 线性方程组aR=b直接解法(采用求逆函数inv)
R=inv(a)*b                % 或采用矩阵除法 R=a\b
% 杆件长度
d=50;                     % 机架长度(已知数据)
x(1)=d/R(3);
x(3)=d/R(2);
x(2)=sqrt(x(1)^2+x(3)^2+d^2-2*x(1)*x(3)*R(1));
% 检验解的精度(采用求解矩阵或向量范数的函数norm)
en=norm(a*R-b);
disp '          ********  计算结果  ********'  
fprintf (1,'         曲柄长度        a = %3.4f mm \n',x(1))
fprintf (1,'         连杆长度        b = %3.4f mm \n',x(2))
fprintf (1,'         摇杆长度        c = %3.4f mm \n',x(3))
fprintf (1,'         机架长度        d = %3.4f mm \n',d)
disp ' '
fprintf (1,'     数值解的精度       en = %3.4e \n',en)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?