在 Matlab 中获取多项式的根
Ammar Ali
2023年1月30日
2021年7月4日
本教程将介绍如何使用 MATLAB 中的 roots()
和 solve()
函数求多项式的根。
使用 MATLAB 中的 roots()
函数获取多项式的根
如果要查找多项式的根,可以使用 MATLAB 中的 roots()
函数。此函数的此输入是包含多项式系数的向量。如果多项式中不存在幂,则将使用 0 作为其系数。此函数的输出是一个列向量,其中包含给定多项式的实根和虚根。例如,让我们找到二次多项式的根:2x^2 - 3x + 6 = 0。我们必须从最高的幂开始定义多项式系数,如果没有幂,我们将使用 0 作为其系数。请参考下面的代码。
poly = [2 -3 6];
p_roots = roots(poly)
输出:
p_roots =
0.7500 + 1.5612i
0.7500 - 1.5612i
在上面的代码中,我们只使用了多项式的系数,从最高的幂开始。你可以根据给定的多项式更改多项式的系数。知道了,让我们找出一个四次多项式的根:2x^4 + 1 = 0。看下面的代码。
poly = [2 0 0 0 1];
p_roots = roots(poly)
输出:
p_roots =
-0.5946 + 0.5946i
-0.5946 - 0.5946i
0.5946 + 0.5946i
0.5946 - 0.5946i
我们在上面代码中的两个多项式之间使用了三个 0,因为缺少三个幂。查看此链接以获取有关 roots()
函数的更多信息。
使用 MATLAB 中的 solve()
函数获取多项式的根
如果要查找多项式的根,可以使用 MATLAB 中的 solve()
函数。此函数的此输入是多项式。此函数的输出是一个列向量,其中包含给定多项式的实根和虚根。例如,让我们找出二次多项式的根:2x^2 - 3x + 6 = 0。我们必须定义多项式。请参考下面的代码。
syms x
poly = 2*x^2 -3*x +6 == 0;
p_roots = solve(poly,x)
p_roots = vpa(p_roots,2)
输出:
p_roots =
0.75 - 1.6i
0.75 + 1.6i
在上面的代码中,我们定义了整个多项式,并使用了 vpa()
函数来改变结果的精度。你可以根据给定的多项式和精度根据你的要求更改多项式。知道了,让我们找出一个四次多项式的根:2x^4 + 1 = 0。看下面的代码。
syms x
poly = 2*x^4 +1 == 0;
p_roots = solve(poly,x);
p_roots = vpa(p_roots,2)
输出:
p_roots =
- 0.59 - 0.59i
- 0.59 + 0.59i
0.59 - 0.59i
0.59 + 0.59i
在上面的代码中,我们定义了整个多项式并使用 vpa()
函数来改变结果的精度。你可以根据给定的多项式和精度根据你的要求更改多项式。
Author: Ammar Ali