在matlab里面solve命令主要是用来求解代数方程(即多项式)的解,但是也不是说其它方程一个也不能解,不过求解非代数方程的能力相当有限,通常只能给出很特殊的实数解.
solve有两种用法,一种是用字符串作为参数,在这种情况下字符串被整体传到函数内,不会自动将已定义的内容代到字符串内,因此必须手动拼接字符串,用num2str将数字转换为字符串,再和其他字符串接到一起成为一个整体,再传给solve,比较麻烦.另一种是输入符号表达式,
x=solve('eqn1','eqn2',...,'var1','var2',...).
例子:
解方程组:x^2+y-6=0;y^2+x-6=0
程序设计:
syms x y
[x,y]=solve(‘x^2+y-6’,‘y^2+x-6’,‘x’,‘y’)
solve一般用于求解析解,数值解并不擅长,求数值解还是用fsolve比较合适