1. 程式人生 > 其它 >matlab中conv函式的使用和理解

matlab中conv函式的使用和理解

技術標籤:matlab學習matlab

目錄

一、conv()的基本使用方法

conv 計算 卷積和多項式乘法
w = conv(u,v) 返回向量 u 和 v 的卷積。如果 u 和 v 是多項式係數的向量,對其卷積與將這兩個多項式相乘等效。

w = conv(u,v,shape) 返回如 shape 指定的卷積的分段。例如,conv(u,v,‘same’) 僅返回與 u 等大小的卷積的中心部分,而 conv(u,v,‘valid’) 僅返回計算的沒有補零邊緣的卷積部分。

示例:pandas 是基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。

二、conv()使用的一些例子

1.多項式的計算

就是那種正常的多項式運算,通過矩陣表示係數,返回運算結果。
如現在要運算(x+2)*(x+3),可採用如下程式碼

u=[1 3];
v=[1 2];%行向量表示
y=conv(u,v)

結果y=[1 5 6]
同樣也可以利用這個函式進行更加複雜的運算。

2.向量卷積

建立兩個向量並求其卷積。

向量的卷積是什麼????

給定兩個n維向量α=(a0, a1, …, an-1)T,β=(b0, b1, …, bn-1)T,則α與β的卷積運算定義為:α*β=(c0, c1, …, c2n-2)T,其中
在這裡插入圖片描述
在這裡插入圖片描述

其實向量的卷積也就類似多項式的乘法,這裡的話,假定為兩個多項式相乘,從行看上去,就是對應的系統,從x的零次方到x的n-1次方。

單單從數學含義上看一種運算方法,下面也來看看這種運算方法得到的結果吧。

u = [1 2 3];
v = [1 2 3];  %其中w的長度是u和v長度相加減1
w = conv(u,v)

w =1 4 10 12 9


總結

兩個向量 u 和 v 的卷積,表示 v 滑過 u 時依據這些點確定的重疊部分的面積。從代數方法上講,卷積是與將其係數為 u 和 v 元素的多項式相乘相同的運算.