主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

polydiv

多项式长除法

自 R2024a 起

说明

[q,r] = polydiv(b,a) 将系数向量 b 表示的多项式除以系数向量 a 表示的多项式。将得到系数向量 q 表示的商多项式和系数向量 r 表示的余数多项式,满足 b = conv(a,q) + r

示例

示例

全部折叠

创建两个向量 ba,分别包含多项式 2x3+7x2+4x+9x2+1 的系数。将第一个多项式除以第二个多项式。将得到对应于多项式 2x+7 的商系数和对应于 2x+2 的余数系数。

b = [2 7 4 9];
a = [1 0 1];
[q,r] = polydiv(b,a)
q = 1×2

     2     7

r = 1×4

     0     0     2     2

要检查除法,可以使用 conv 根据除数、商和余数重新构造原始被除数多项式。

bOrig = conv(a,q) + r
bOrig = 1×4

     2     7     4     9

输入参数

全部折叠

被除数多项式系数,指定为行向量或列向量。

数据类型: double | single
复数支持:

除数多项式系数,指定为行向量或列向量。

向量 ba 可以具有不同的长度或数据类型。

  • 如果 ba 中有一个或两个都是 single 类型,则输出的类型也是 single。否则,输出的类型为 double

  • 输入的长度通常满足 length(a) <= length(b)。但是,如果 length(a) > length(b),则 polydiv 返回的输出为 q = 0r = b。对于 k = min(length(a),length(b)),这两种情况等效于 b = conv(a(1:k),q) + r

数据类型: double | single
复数支持:

输出参量

全部折叠

商多项式系数,以行或列向量形式返回,以使 b = conv(a,q) + r

数据类型: double | single

余数多项式系数,以行或列向量形式返回,以使 b = conv(a,q) + r

数据类型: double | single

提示

  • [q,r] = polydiv(b,a) 等效于使用多项式长除法对向量 b 进行反卷积,得到向量 a。但是,使用多项式长除法求反卷积可能导致在数值上不稳定的结果。为了在求反卷积过程中获得在数值上更稳定的计算结果,请改用最小二乘法,如 deconv 函数中所提供的最小二乘法。

版本历史记录

在 R2024a 中推出

另请参阅

| | |