运行以下代码
syms x
eqn = 4*x*x*x-2*x-4==0;
solx = solve(eqn,x)
得到:
solx =
root(z^3 - z/2 - 1, z, 1)
root(z^3 - z/2 - 1, z, 2)
root(z^3 - z/2 - 1, z, 3)
解solx比较复杂通过root形式展示,进行double转换,即可得到数值解:
double(solx)
ans =
1.1654 + 0.0000i
-0.5827 + 0.7201i
-0.5827 - 0.7201i
、、、、、、、、、、、、、、、、、、、
也可采用roots([4 0 -2 -4]),输入各阶系数,得到高阶方程的数值解:
ans =
1.1654 + 0.0000i
-0.5827 + 0.7201i
-0.5827 - 0.7201i
------------------------------------------------------------总结---------------------------------------------------------
1.solve是符号解(解析解),roots是数值解
2.roots只能解多项式方程,solve可解别的方程(只要它解得出的话)和方程组