求大神帮忙改错{matlab}clear; %1.己知参数alpha_0= 0; phi_0=0; theta_1=[4
1个回答

你敲这个程序的时候出现了很多错误.

改成如下可以运行:

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= AABB; %计算相对长度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文件中运行,运行结果如果不是你想要的,注意调整你的参数,矩阵出现了奇异了