求大神帮忙改错{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文件中运行,运行结果如果不是你想要的,注意调整你的参数,矩阵出现了奇异了