求大神帮忙改错{matlab}clear; %1.己知参数alpha_0= 0; phi_0=0; theta_1=[45;90;135]*pi/180; theta_3 = [50;80;110]* pi/180;a = 100 ; %2. 计算各杆长度[l , m , n] = link_design( theta_1,theta_3,alpha_0,phi_0); b = a*l; c = a*m;d = a*n
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 01:09:39
求大神帮忙改错{matlab}clear; %1.己知参数alpha_0= 0; phi_0=0; theta_1=[45;90;135]*pi/180; theta_3 = [50;80;110]* pi/180;a = 100 ; %2. 计算各杆长度[l , m , n] = link_design( theta_1,theta_3,alpha_0,phi_0); b = a*l; c = a*m;d = a*n
求大神帮忙改错{matlab}
clear;
%1.己知参数
alpha_0= 0; phi_0=0;
theta_1=[45;90;135]*pi/180;
theta_3 = [50;80;110]* pi/180;
a = 100 ;
%2. 计算各杆长度
[l , m , n] = link_design( theta_1,theta_3,alpha_0,phi_0);
b = a*l;
c = a*m;
d = a*n;
%3.输出计算结果
disp(' 计算结果l: 各杆相对长度 ');
disp('.');
fprintf (' 连杆相对长度 1 = % 3.2f \n' , 1) ;
fprintf (' 摇杆相对长度 m= % 3.2f \n' ,m);
fprintf (' 机架相对长度 n= % 3.2f \n' ,n);
disp('.');
disp(' 计算结果2: 各杆长度 (单位mm) ');
disp('.');
fprintf (' 曲柄长度 a= %3.2f \n' , a);
fprintI (' 连杆长度 b= %3. 2f \n' , b) ;
fprintf (' 摇杆长度 c= %3. 2f \n' , c) ;
fprintf (' 机架长度 d= % 3.2f \n' ,d);
FUNCTION [l,m,n]=link_design(theta_1,theta_3,a1pha_0,phi_0) %连籽机掏设计
%计算线性方程组系数矩阵A
A =[ cos(theta_3(1)* phi0),cos(theta_3(1) * phi_O-theta_1(1) - alpha_0),1;
cos(theta_3(2)* phi_0),cos(theta_3(2)* phi_O-theta_1(2) - alpha_0) , 1;
cos(theta_3(3)*phi_0),cos(theta_3(3)* phi_O-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_O)];
%求解线性方程组
P= A\B;
%计算相对长度l,m,n
PO=P(l) ; Pl=P(2) ; P2=P(3);
m=Po ;
n= - m/Pl;
l = sqrt(m*m + n*n + l - P2 * 2* n);
求大神帮忙改错{matlab}clear; %1.己知参数alpha_0= 0; phi_0=0; theta_1=[45;90;135]*pi/180; theta_3 = [50;80;110]* pi/180;a = 100 ; %2. 计算各杆长度[l , m , n] = link_design( theta_1,theta_3,alpha_0,phi_0); b = a*l; c = a*m;d = a*n
你敲这个程序的时候出现了很多错误.
改成如下可以运行:
function [] = myhelp()
clear; %1.己知参数
clc;
alpha_0= 0;
phi_0=0;
theta_1=[45;90;135]*pi/180;
theta_3 = [50;80;110]* pi/180;
a = 100 ; %2. 计算各杆长度
[l , m , n] = link_design( theta_1,theta_3,alpha_0,phi_0);
b = a*l;
c = a*m;
d = a*n;%3.输出计算结果
disp(' 计算结果l: 各杆相对长度 ');
disp('.');
fprintf (' 连杆相对长度 1 = % 3.2f \n' , 1) ;
fprintf (' 摇杆相对长度 m= % 3.2f \n' ,m);
fprintf (' 机架相对长度 n= % 3.2f \n' ,n);
disp('.');
disp(' 计算结果2: 各杆长度 (单位mm) ');
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);
function [l,m,n]=link_design(theta_1,theta_3,alpha_0,phi_0) %连籽机掏设计%计算线性方程组系数矩阵
AA =[ 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] ;
%计算线性方程组系数矩阵
BB=[cos(theta_1(1) * alpha_0); cos(theta_1(2)*alpha_0); cos(theta_1(3) * alpha_0)];
%求解线性方程组
P= AA\BB; %计算相对长度l,m,n
P0=P(1) ;
Pl=P(2) ;
P2=P(3);
m=P0 ;
n= - m/Pl;
l = sqrt(m*m + n*n + 1 - P2 * 2* n);
注:请放在一个m文件中运行,运行结果如果不是你想要的,注意调整你的参数,矩阵出现了奇异了