1. 简述
分享一下通过多种不同的方法计算多项式的根。
数值根
使用代换法求根
特定区间内的根
符号根
数值根
roots 函数用于计算系数向量表示的单变量多项式的根。
例如,创建一个向量以表示多项式 x2−x−6,然后计算多项式的根。
p = [1 -1 -6];
r = roots(p)
r =
3
-2
按照惯例,MATLAB以列向量形式返回这些根。
poly 函数将这些根重新转换为多项式系数。对向量执行运算时,poly 和 roots 为反函数,因此 poly(roots(p)) 返回 p(取决于舍入误差、排序和缩放)。
p2 = poly(r)
p2 =
1 -1 -6
对矩阵执行运算时,poly 函数会计算矩阵的特征多项式。特征多项式的根是矩阵的特征值。因此,roots(poly(A)) 和 eig(A) 返回相同的答案(取决于舍入误差、排序和缩放)。
使用代换法求根
通过使用代换法简化方程来对涉及三角函数的多项式方程求解。一个变量的生成多项式不再包含任何三角函数。
2. 代码
clc;
clear all;
p=[1 0 0 -5 -2]; %多项式系数
x1=roots(p) %对多项式p求根
x2=[2 4]; %已知根
y=poly(x2); %求以x2为根的多项式系数
y=poly2sym(y) %显示多项式
3. 运行结果