MATLAB - 多项式乘法



多项式乘法是数学和工程学中的一项基本运算,尤其是在信号处理、控制理论和数值分析等领域。在 MATLAB 中,可以使用 conv 函数或 * 运算符执行多项式乘法。

使用 conv 函数进行多项式乘法

在 MATLAB 中,可以使用 conv 函数有效地执行多项式乘法,该函数计算两个序列的卷积,表示多项式的系数。由于两个多项式的卷积等于它们的乘积,因此 conv 函数可用于多项式乘法。

让我们考虑一下我们有两个如下所示的多项式:

P(x) = 2x2 + 3x + 4
Q(x) = 5x + 6 

上述多项式方程的系数如下:

P = [2 3 4]; % Coefficients of P(x)
Q = [5 6];   % Coefficients of Q(x)

现在让我们使用 conv 函数来乘以这两个多项式。

R = conv(P, Q); % Result of polynomial multiplication

结果 R 将是多项式乘积的系数,它就是。

R(x) = P(x).Q(x)

因此,如果要执行代码并查看输出,我们可以使用以下代码:

P = [2 3 4]; % Coefficients of P(x)
Q = [5 6];   % Coefficients of Q(x)
R = conv(P, Q); % Result of polynomial multiplication
disp(R)

执行后,输出如下:

Inner Join

我们得到的多项式为:

R(x) = 10x3 + 27x2 + 38x + 24

让我们使用 conv() 函数尝试另一个示例

示例 1:多项式 P(x) = 3x2 + 2x + 1 和 Q(x) = 4x3 + 5x2 + 6x + 1 乘法

我们拥有的多项式如下:

P(x) = 3x2 + 2x + 1
Q(x) = 4x3 + 5x2 + 6x + 1

上述多项式的系数如下:

P = [3 2 1]; % Coefficients of P(x)
Q = [4 5 6 7]; % Coefficients of Q(x)

因此,我们可以执行的最终代码如下:

P = [3 2 1]; % Coefficients of P(x)
Q = [4 5 6 7]; % Coefficients of Q(x)
R = conv(P,Q);
disp(R);

当在 matlab 命令窗口中执行代码时,输出为:

Inner Join

我们得到的 R 的输出为 [12 23 32 38 20 7];因此,我们得到的多项式为:

R(x) = 12x5 + 23x4 + 32x3 + 38x2 + 20x + 7

示例 2:两个二次多项式的乘法

考虑以下:

Polynomials:

P(x)=x2+2x+3
Q(x)=4x2+5x+6

Coefficients:
P = [ 1 2 3 ]
Q = [ 4 5 6 ]

我们在 Matlab 中的代码是:

% Define the coefficients of the polynomials
P = [1 2 3];  % Coefficients of P(x) = x^2 + 2x + 3
Q = [4 5 6];  % Coefficients of Q(x) = 4x^2 + 5x + 6

% Perform the polynomial multiplication
result = conv(P, Q);

% Display the result
disp('Resulting polynomial coefficients after multiplication:');
disp(result);

对于多项式:

P(x) = x2  + 2x + 3 and 
Q(x) = 4x2 + 5x + 6 , the product is:

(x2 + 2x + 3) × (4x2 +5x +6) = 4x4 + 13x3 + 28x2 + 27x + 18

当在 matlab 命令窗口中执行代码时,输出为:

>> % Define the coefficients of the polynomials
P = [1 2 3];  % Coefficients of P(x) = x^2 + 2x + 3
Q = [4 5 6];  % Coefficients of Q(x) = 4x^2 + 5x + 6

% Perform the polynomial multiplication
result = conv(P, Q);

% Display the result
disp('Resulting polynomial coefficients after multiplication:');
disp(result);

Resulting polynomial coefficients after multiplication:
     4    13    28    27    18

>> 

示例 3:将三次多项式乘以线性多项式

我们有:

Polynomials:

P(x) =3x3 +2x2 +x+4
Q(x) = x−2

Coefficients:
P = [ 3 2 1 4 ]
Q = [ 1 −2 ]

我们拥有的 matlab 代码为:

% Define the coefficients of the polynomials
P = [3 2 1 4];  % Coefficients of P(x) = 3x^3 + 2x^2 + x + 4
Q = [1 -2];     % Coefficients of Q(x) = x - 2

% Perform the polynomial multiplication
result = conv(P, Q);

% Display the result
disp('Resulting polynomial coefficients after multiplication:');
disp(result);

当代码执行时,我们得到的输出为:

>> % Define the coefficients of the polynomials
P = [3 2 1 4];  % Coefficients of P(x) = 3x^3 + 2x^2 + x + 4
Q = [1 -2];     % Coefficients of Q(x) = x - 2

% Perform the polynomial multiplication
result = conv(P, Q);

% Display the result
disp('Resulting polynomial coefficients after multiplication:');
disp(result);

Resulting polynomial coefficients after multiplication:
     3    -4    -3     2    -8

>> 
广告