5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)

您所在的位置:网站首页 幂的定义与运算 5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)

5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)

2024-05-27 12:02| 来源: 网络整理| 查看: 265

在这里插入图片描述

1、多项式的表示 在这里插入图片描述 在MATLAB中创建多项式向量时,注意三点:

(1)多项式系数向量的顺序是从高到低。 (2)多项式系数向量包含0次项系数,所以其长度为多项式最高次数加1。 (3)如果有的项没有,系数向量相应位置应用0补足。

2、多项式的四则运算 (1)多项式的加减运算 多项式的加减运算非常简单,即相应向量相加减。 (2)多项式乘法 conv (P1,P2):多项式相乘函数。 在这里,P1、P2是两个多项式系数向量。 (3)多项式除法 [Q,r]=deconv(P1,P2):多项式相除函数。 其中,Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。

deconv是conv的逆函数,因此有 Pl=conv(Q,P2)+r 即商式(Q)乘以除式(P2)加止余式( r)等手被除式(P1) 在这里插入图片描述

>> f = [3 -5 0 -7 5 6]; g = [ 3 5 -3]; g1 = [0 0 0 g]; y1 = f+g1 %多项式相加,等长向量可加减 y1 = 3 -5 0 -4 10 3 >> y2 = f-g1 %多项式相减 y2 = 3 -5 0 -10 0 9 >> y3 = conv(f,g) %多项式相乘,积向量的长度为两个因子向量的长度之和减1 y3 = 9 0 -34 -6 -20 64 15 -18 >> [y4 r] = deconv(f,g) %多项式相除,y4是商式,r是余式 y4 = 1.0000 -3.3333 6.5556 -16.5926 r = 0 0 0 0 107.6296 -43.7778 >> y5 = conv(y4,g)+r %商式乘以除式加上余式,看看是否与被除式f相等 y5 = 3.0000 -5.0000 0 -7.0000 5.0000 6.0000

补充:三个或者三个以上的多项式相乘可用以下方法

syms y1 y2 y3 x y1 = x^2+5*x+2; y2 = -2*x^2+2*x-3; y3 = 9*x+7; ans = y1*y2*y3; disp(ans) %显示的结果没有展开 ans1 = expand(ans) %使用expand函数将结果展开 ans2 = factor(ans) %将多项式因式分解 %%运行结果 ans = -(9*x + 7)*(x^2 + 5*x + 2)*(2*x^2 - 2*x + 3) ans1 = - 18*x^5 - 86*x^4 - 29*x^3 - 78*x^2 - 131*x - 42 ans2 = [ -1, 9*x + 7, x^2 + 5*x + 2, 2*x^2 - 2*x + 3]

3、多项式的求导

polyder( ):多项式求导函数。调用格式: ( 1 ) p=polyder( P):求多项式P的导函数。 ( 2 ) p=polyder(P,Q):求P·Q的导函数。 ( 3 ) [p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。 在这里插入图片描述

>> a = [3 1 0 -6]; b = [1 2]; y0 = polyder(a) %计算多项式a的导函数 y0 = 9 2 0 >> y1 = polyder(a,b) %计算两个多项式的乘积的导函数,等价于先求m = conv(a,b),再求polyder(m) y1 = 12 21 4 -6 >> [p q] = polyder(a,b) %计算两个多项式的商的导函数,p存分子,q存分母。如果换成先求商再求导,输出不同。 p = 6 19 4 6 q = 1 4 4

4、多项式的求值

(1)polyval(p,x):代数多项式求值。 其中,p为多项式系数向量;x可以是标量、向量或矩阵。若x为标量,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求多项式的值。(这个函数可一次性并行地求出一批娄数据的多项式的值,自变量有多少个数据,函数就求多少个值。)

(2)polyvalm(p,x):矩阵多项式求值。 其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,以方阵为自变量求多项式的值。

当polyval(p,x)与polyvalm(p,x)的输入参数相同时两者的计算结果有没有可能相等? 当x是标量时,两者的计算结果相等。

例3:以多项式x ^4+ 8*x ^3-10为例,取一个2×2矩阵为自变量,分别用polyval和polyvalm计算该多项式的值。

5、多项式的求根

roots§:多项式求根函数。 其中,p为多项式的系数向量。包括实根和共辄复根。 若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为: p=poly(x)

>> a = [1 8 0 0 -10]; x = roots(a) %求根 x = -8.0194 + 0.0000i 1.0344 + 0.0000i -0.5075 + 0.9736i -0.5075 - 0.9736i >> y = poly(x) %若已知多项式的全部根,则可以用poly函数建立起该多项式,p=poly(x) y = 1.0000 8.0000 0.0000 0.0000 -10.0000


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3