MATLAB利用solve函数解多元一次方程组

matlab求解多元方程组示例:

syms k1 k2 k3;
[k1 k2 k3] = solve(-3-k3==6, 2-k1-k2+2*k3==11, 2*k1+k2-k3+1==6)
或者用
[k1 k2 k3] = solve(‘-3-k3=6’, ‘2-k1-k2+2*k3=11’, ‘2*k1+k2-k3+1=6’)
另外,可以指定未知数为哪个

[k1 k2 k3] = solve(‘-3-k3=6’, ‘2-k1-k2+2*k3=11’, ‘2*k1+k2-k3+1=6’,k1,k2,k3)

结果:

k1 =
 
23
 
 
k2 =
 
-50
 
 
k3 =
 
-9

注意:等式不用引号,按其他示例加上引号会报错;

   等号要用‘==’而不是‘=’

   总结:1.使用引号,用=;

      2.不使用引号,用==;

之前老是报错:

错误使用 solve>getEqns (line 418)
List of equations must not be empty.

出错 solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});

原因是用了引号,等式变成字符串,我这个版本的matlab似乎无法识别

 

posted @ 2019-10-26 15:58  小小记录本  阅读(33200)  评论(0编辑  收藏  举报