关于matlab solve函数解多元一次方程组的问题

我输入了方程组
syms x y z;
[x,y,z]=solve('x+0.97*y+0.26*z=712.37','0.97*x+2.82*y+0.76*z=319.68','0.26*x+0.76*y+0.2*z=66.07')
但是一直显示“错误使用 solve>getEqns (line 418)
List of equations must not be empty.

出错 solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});”
求修改指导~谢谢

第1个回答  2019-05-04
用法以这个为例: x+A*y=10 x-B*y=1 其中x,y为变量,A,B为字母系数. 只要在Matlab中输入 syms x,y,A,B [x y]=solve('x+A*y=10','x-B*y=1','x','y') 即可求出解 x = (A + 10*B)/(A + B) y = 9/(A + B) 对于函数solve的具体用法,可以通过输入help solve来学习。 扩展资料: matlab中方程求解的基本命令 1.roots(p) %求多项式的根,其中p是多项式向量。例求x3-x2+x-1=0的根解:>>roots([1,-1,1,-1]) 注: [1,-1,1,-1]在matlab中表示多项式 x3-x2+x-1 2.solve(fun) %求方程fun=0的符号解,如果不能求得精确的符号解,可以计算可变精度的数值解例:用solve求方程x9+x8+1=0的根解:>>solve(‘x^9+x^8+1’) 给出了方程的数值解(32位有效数字的符号量) 3.solve(fun,var) %对指定变量var求代数方程fun=0的符号解。例:解方程 ax2+bx2+c=0 解:>>syms a b c x; >>f=a*x^2+b*x+c; >>solve(f) 如果不指明变量,系统默认为x,也可指定自变量,比如指定b为自变量 >>symsa b c x; >> f=a*x^2+b*x+c; >>solve(f,b) 4.fsolve(fun,x0) %求非线性方程fun=0在估计值x0附近的近似解。例:用fsolve求方程x=e-x在0附近的根解:>>fsolve(‘x-exp(-x)’,0) 5.fzero(fun,x0) %求函数fun在x0附近的零点 例:求方程x-10x+2=0在x0=0.5附近的根解:>>fzero(‘x-10^x+2’,0.5)本回答被网友采纳
相似回答