MATLAB中的去卷积

MATLAB中的去卷积

去卷积是一种从另一个矢量中提取一个特定矢量的数学方法。它可以被形象地理解为从一个初始(矢量A)信号中提取一个特定的信号,然后再从中去除第二个信号(矢量B)。在数学上,这可以理解为两个多项式的划分。去卷积是MATLAB中卷积的逆运算。它们都被用于信号处理和图像处理行业。MATLAB提供了一个简单的函数来提取去卷积的结果,即deconv()函数。

语法:

[quotient, remainder] = deconv(vecB, vecA)

这里,deconv函数将vecA从vecB中分解出来,并将商和余数存储在变量中。这4个量通过以下关系联系起来。

vecB = conv(vecA, quotient) + remainder

现在让我们看看几个相同的例子。

使用deconv函数,分别对两个3度和1度的多项式进行除法。让vecA = x + 1和vecB = x^3 – 1.现在,利用多项式的一般形式,系数向量将是vecA = [1 1]和vecB = [1 0 0 -1]。现在对这两个向量进行去卷积。

示例 1:

% MATLAB code for coefficients of x^3 - 1
vecB = [1 0 0 -1];
 
% Coefficients of x + 1
vecA = [1 1];
 
% Deconvolving
[qt,rem] = deconv(vecB,vecA);
 
% Displaying coefficients of quotient and remainder polynomial
disp(qt)
disp(rem)

输出:

MATLAB中的去卷积

这将返回商和余数的系数向量,根据这一点,多项式是。

quotient = x^2 - x + 1
remainder = -2

现在让我们来划分另一个多项式。

示例 2:

% MATLAB code for Coefficients of 23*x^5 - 3*x^3 + x + 13
vecB = [23 0 -3 0 1 13];
 
% Coefficients of 4*x^2 - x + 11
vecA = [4 -1 11];
 
% Deconvolving
[qt,rem] = deconv(vecB,vecA);
 
% Displaying coefficients of quotient and remainder polynomial
disp(qt)
disp(rem)

输出:

MATLAB中的去卷积

商和余数多项式是。

quotient = 5.75*x^3 + 1.4375*x^2 - 16.2031*x - 8.0039
remainder = 171.2305 * x + 101.043

这些结果可以用长除法进行验证。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程