maxima 代数方程求解
最后更新于:2022-04-01 07:31:29
本文最初写于 2010-07-21于 sohu 博客,这次博客搬家一起搬到这里来。
版权所有,转载请注明出处。
# 一般的代数方程
solve (expr, x)
solve (expr)
solve ([eqn_1, ..., eqn_n], [x_1, ..., x_n])
几个例子:
solve (asin (cos (3*x))*(f(x) - 1), x);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233db2117.PNG)
[4*x^2 - y^2 = 12, x*y - x = 2];
solve (%, [x, y]);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233dc1c87.PNG)
# 多项式方程
realroots 计算多项式方程的数值解.
realroots (expr, bound)
realroots (eqn, bound)
realroots (expr)
realroots (eqn)
几个例子:
realroots (-1 - x + x^5, 5e-6);
realroots (expand ((1 - x)^5 * (2 - x)^3 * (3 - x)), 1e-20);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233dd08c5.PNG)
allroots 计算多项式方程的全部解.
allroots (expr)
allroots (eqn)
几个例子:
eqn: (1 + 2*x)^3 = 13.5*(1 + x^5);
soln: allroots (eqn);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233ddc4c1.PNG)
# 二分法求数值解
find_root (expr, x, a, b)
find_root (f, a, b)
几个例子:
find_root (sin(x) - x/2, x, 0.1, %pi);
find_root (sin(x) = x/2, x, 0.1, %pi);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233de9c78.PNG)
f(x) := sin(x) - x/2;
find_root (f(x), x, 0.1, %pi);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e0297d.PNG)
# 牛顿迭代法
newton (expr, x, x_0, eps)
mnewton (FuncList,VarList,GuessList)
newton 用来解方程,mnewton 用来解方程组
几个例子:
load (newton1)$
newton (cos (u), u, 1, 1/100);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e16ed8.PNG)
assume (a > 0);
newton (x^2 - a^2, x, a/2, a^2/100);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e24037.PNG)
load("mnewton")$
mnewton([x1+3*log(x1)-x2^2, 2*x1^2-x1*x2-5*x1+1], [x1, x2], [5, 5]);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e2fba8.PNG)
# 线性代数方程组
linsolve ([expr_1, ..., expr_m], [x_1, ..., x_n])
几个例子:
e1: x + z = y;
e2: 2*a*x - y = 2*a^2;
e3: y - 2*z = 2;
linsolve ([e1, e2, e3], [x, y, z]);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e3c9d1.PNG)
# 多项式方程组
algsys ([expr_1, ..., expr_m], [x_1, ..., x_n])
algsys ([eqn_1, ..., eqn_m], [x_1, ..., x_n])
几个例子:
e1: 2*x*(1 - a1) - 2*(x - 1)*a2;
e2: a2 - a1;
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e494f4.PNG)
e3: a1*(-y - x^2 + 1);
e4: a2*(y - (x - 1)^2);
algsys ([e1, e2, e3, e4], [x, y, a1, a2]);
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4233e576cc.PNG)