一、多项式的四则运算
1.多项式的加减运算
2.多项式乘法运算
函数conv(P1,P2)用于求多项式P1和P2的乘积。 这里,P1、P2是两个多项式系数向量。
3.多项式除法
函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r 返回P1除以P2的余式。这里,Q 和 r仍是多项式系数向量。
deconv是conv的逆函数,即有P1=conv(P2,Q)+r。
二、多项式的导函数
对多项式求导数的函数是:
p=polyder(P):求多项式P的导函数
p=polyder(P,Q):求P·Q的导函数
[p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q 。
上述函数中,参数P,Q是多项式的向量表示,结果p,q也是多项式的向量表示。
例6-18 求有理分式的导数。
命令如下:
P=[1];
Q=[1,0,5];
[p,q]=polyder(P,Q)
运行结果 :
三、多项式的求值
MATLAB 提供了两种求多项式值的函数: polyval 与 polyvalm ,它们的输入参数均为多项式系数向量 P 和自变量 x 。两者的区别在于前者是 代数多项式求值 ,而后者是 矩阵多项式求值 。1 .代数多项式求值polyval 函数用来求代数多项式的值,其调用 格式为:Y=polyval(P,x)若 x 为一数值,则求多项式在该点的值;若 x 为向量或矩阵,则对向量或矩阵中的每个 元素求其多项式的值。2 .矩阵多项式求值polyvalm 函数用来求 矩阵多项式的值 ,其调用格式与 polyval 相同,但含义不同。 polyvalm 函数要求 x 为方阵,它以方 阵为自变量求多项式的值。设 A 为方阵, P 代表多项式 x3- 5x2+8 ,那么 polyvalm(P,A) 的含义是:A*A*A-5*A*A+8*eye(size(A))而 polyval(P,A) 的含义是:A.*A.*A-5*A.*A+8*ones(size(A))
四、多项式求根
n 次多项式具有 n 个根,当然这些根可能是实 根,也可能含有若干对共轭复根。MATLAB 提供的 roots 函数用于求多项式的 全部根 ,其调用格式为:x=roots(P)其中 P 为多项式的系数向量,求得的根赋给向 量 x ,即 x(1),x(2),…,x(n) 分别代表多项式的 n 个根。
例 6-21 求多项式 x 4 +8x 3 -10 的根。
命令如下:
A=[1,8,0,0,-10];
x=roots(A)
%若已知多项式的全部根,则可以用poly函数建立起 该多项式,其调用格式为:
P=poly(x)
%若x为具有n个元素的向量,则poly(x)建立以x为其根 的多项式,且将该多项式的系数赋给向量P
运行结果 :
例 6-22 已知 f(x)
(1) 计算 f(x)=0 的全部根。
(2) 由方程 f(x)=0 的根构造一个多项式 g(x) ,并 与 f(x) 进行对比。
命令如下:
P=[3,0,4,-5,-7.2,5];
X=roots(P) %求方程f(x)=0的根
G=poly(X) %求多项式g(x)
运行结果 :
结语
在无人喝彩的时候
我们不要放弃努力
要学会为自己鼓掌
!!!