1. solve函数
①求解单个一元方程的数值解
syms x;
x0 = double(solve(x +2 - exp(x),x));
求x+2 = exp(x)的解,结果用double显示.
使用过程中,也可以写作x+2 == exp(x),注意是‘==’.
另外,若有多个解,该函数只返回一个的解.
②求解含有符号变量方程的解
syms x a b c;
x0 = solve(a*x^2+b*x+c,x);
可以求得两个解.
③求解方程组
syms x y z;
e1 = 2*x - y +z;
e2 = x + y - 6;
e3 = z^2 +2*y;
[x0,y0,z0] = solve(e1,e2,e3,x,y,z);
double([x0,y0,z0])
可以返回多个解,注意不能直接solve进行double转换.
2. vpasolve函数
求某个范围内的方程的解,只能返回一个解.
syms x;
double(vpasolve(x +2 - exp(x),x,[-2,2]))
也可求某个点附近的解.
double(vpasolve(x +2 - exp(x),x,1))
前提是这个’附近的点’不能离所求的解偏差过大.
要找出所有的解,可以先作图,求出每个解的大致区间或临近点.