关于MATLAB 源程序主程序:link_design_mainl文件 clear;%1 已知参数alpha_0=0;phi_0=0;theta_1=[45;90;135]*pi/180;theta_3=[52;82;112]*pi/180;d=50;%2 计算各杆长度[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);b=l*d/n;c=d*m/n;a=d/n;
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/08 10:51:48
![关于MATLAB 源程序主程序:link_design_mainl文件 clear;%1 已知参数alpha_0=0;phi_0=0;theta_1=[45;90;135]*pi/180;theta_3=[52;82;112]*pi/180;d=50;%2 计算各杆长度[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);b=l*d/n;c=d*m/n;a=d/n;](/uploads/image/z/4921957-37-7.jpg?t=%E5%85%B3%E4%BA%8EMATLAB+%E6%BA%90%E7%A8%8B%E5%BA%8F%E4%B8%BB%E7%A8%8B%E5%BA%8F%EF%BC%9Alink_design_mainl%E6%96%87%E4%BB%B6+clear%3B%251+%E5%B7%B2%E7%9F%A5%E5%8F%82%E6%95%B0alpha_0%3D0%3Bphi_0%3D0%3Btheta_1%3D%5B45%3B90%3B135%5D%2Api%2F180%3Btheta_3%3D%5B52%3B82%3B112%5D%2Api%2F180%3Bd%3D50%3B%252+%E8%AE%A1%E7%AE%97%E5%90%84%E6%9D%86%E9%95%BF%E5%BA%A6%5Bl%2Cm%2Cn%5D%3Dlink_design%28theta_1%2Ctheta_3%2Calpha_0%2Cphi_0%29%3Bb%3Dl%2Ad%2Fn%3Bc%3Dd%2Am%2Fn%3Ba%3Dd%2Fn%3B)
关于MATLAB 源程序主程序:link_design_mainl文件 clear;%1 已知参数alpha_0=0;phi_0=0;theta_1=[45;90;135]*pi/180;theta_3=[52;82;112]*pi/180;d=50;%2 计算各杆长度[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);b=l*d/n;c=d*m/n;a=d/n;
关于MATLAB 源程序
主程序:link_design_mainl文件
clear;
%1 已知参数
alpha_0=0;phi_0=0;
theta_1=[45;90;135]*pi/180;
theta_3=[52;82;112]*pi/180;
d=50;
%2 计算各杆长度
[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);
b=l*d/n;
c=d*m/n;
a=d/n;
%3 输出计算结果
disp('计算结果1:各干相对长度');
disp(' ');
fprintf('连杆相对长度 l=%3.2f \n',l);
fprintf('摇杆相对长度 m=%3.2f \n',m);
fprintf('机架相对长度 n=%3.2f \n',n);
disp(' ');
disp('计算结果2:各干长度');
disp(' ');
fprintf('曲柄长度 a=%3.2f \n',a);
fprintf('连杆长度 b=%3.2f \n',b);
fprintf('摇杆长度 c=%3.2f \n',c);
fprintf('机架长度 d=%3.2f \n',d);
disp(' ');
子函数:link_design文件
function [l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0)
%计算线性方程组系数矩阵A
A=[cos(theta_3(1)+phi_0),cos(theta_3(1)+phi_0-theta_1(1)-alpha_0),1;
cos(theta_3(2)+phi_0),cos(theta_3(2)+phi_0-theta_1(2)-alpha_0),1;
cos(theta_3(3)+phi_0),cos(theta_3(3)+phi_0-theta_1(3)-alpha_0),1];
% 计算线性方程组系数矩阵B
B=[cos(theta_1(1)+alpha_0);cos(theta_1(2)+alpha_0);cos(theta_1(3)+alp ha_0)];
% 求解线性方程组
p=A\B;
% 计算相对杆长l,m,n
p0=p(1);p1=p(2);p2=p(3);
m=p0;
n=-m/p1;
l=sqrt(m*m+n*n+1-p2*2*n);
End
要怎么改才能运行
关于MATLAB 源程序主程序:link_design_mainl文件 clear;%1 已知参数alpha_0=0;phi_0=0;theta_1=[45;90;135]*pi/180;theta_3=[52;82;112]*pi/180;d=50;%2 计算各杆长度[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);b=l*d/n;c=d*m/n;a=d/n;
主程序:
clear;%1 已知参数
alpha_0=0;phi_0=0;
theta_1=[45;90;135]*pi/180;
theta_3=[52;82;112]*pi/180;
d=50;
%2 计算各杆长度
[l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0);
b=l*d/n;
c=d*m/n;
a=d/n;
%3 输出计算结果
disp('计算结果1:各干相对长度');
disp(' ');
fprintf('连杆相对长度 l=%3.2f \n',l);
fprintf('摇杆相对长度 m=%3.2f \n',m);
fprintf('机架相对长度 n=%3.2f \n',n);
disp(' ');
disp('计算结果2:各干长度');
disp(' ');
fprintf('曲柄长度 a=%3.2f \n',a);
fprintf('连杆长度 b=%3.2f \n',b);
fprintf('摇杆长度 c=%3.2f \n',c);
fprintf('机架长度 d=%3.2f \n',d);
disp(' ');
子程序(link_design,m)
%计算线性方程组系数矩阵A
A=[cos(theta_3(1)+phi_0),cos(theta_3(1)+phi_0-theta_1(1)-alpha_0),1;
cos(theta_3(2)+phi_0),cos(theta_3(2)+phi_0-theta_1(2)-alpha_0),1;
cos(theta_3(3)+phi_0),cos(theta_3(3)+phi_0-theta_1(3)-alpha_0),1];
% 计算线性方程组系数矩阵B
B=[cos(theta_1(1)+alpha_0);cos(theta_1(2)+alpha_0);cos(theta_1(3)+alpha_0)];
% 求解线性方程组
p=A\B;
% 计算相对杆长l,m,n
p0=p(1);p1=p(2);p2=p(3);
m=p0;
n=-m/p1;
l=sqrt(m*m+n*n+1-p2*2*n);
结果
计算结果1:各干相对长度连杆相对长度 l=2.07
摇杆相对长度 m=1.49
机架相对长度 n=1.81
计算结果2:各干长度
曲柄长度 a=27.63
连杆长度 b=57.24
摇杆长度 c=41.11
机架长度 d=50.00