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似乎无法识别

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM