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似乎無法識別