让高中生理解卷积——从多项式乘法开始
1.從多項式乘法到卷積和
這里有兩個多項式:
兩個多項式相乘
看一下h(x)的0次方項的系數(shù)是怎么算的
你會發(fā)現(xiàn),在求c0時,這個等式的右邊的每一項都是數(shù)列中的某一項和數(shù)列中的某一項相乘,而且任何一對乘在一起的a和b,它們在數(shù)列中的下標的和,剛好是所求的c的下標0。
同樣的,h(x)的3次方項
同樣的,這個等式的右邊的每一項都是數(shù)列中的某一項和數(shù)列中的某一項相乘,而且任何一對乘在一起的a和b,它們在數(shù)列中的下標的和,剛好是所求的c的下標3。
再舉一個負數(shù)次方項的例子,h(x)的-2次方項
這個式子當中,任何一對乘在一起的a和b,它們在數(shù)列中的下標的和,剛好是所求的c的下標-2
然后,推廣到一般情況
如果把數(shù)列和當作序列,這就是序列a和序列b的卷積和公式
由此可以推出結(jié)論:
兩個多項式f與g相乘的結(jié)果的系數(shù)序列,就是f和g各自的系數(shù)序列的卷積。
卷積其實是一種“附帶了位置信息”的乘法。
P.S.
1.實際上,在matlab中以系數(shù)向量表示的兩個多項式相乘,用到的函數(shù)conv(),其實就是卷積函數(shù),"conv"是“卷積”的英文"convolution"的縮寫
2.如果把以上所有式子中的x化妝成為z,上述推導過程其實就是論證Z變換的性質(zhì)之一“時域卷積對應于z域相乘”的過程
2.從離散的卷積和到連續(xù)的卷積積分——matlab的啟發(fā)
再舉一個連續(xù)的例子:
這里有兩個函數(shù)
現(xiàn)在我們先看一下在電腦如何畫出這兩個圖的
新版的matlab有fplot()函數(shù),可以實現(xiàn)像幾何畫板或者是Geogebra之類直接將函數(shù)表達式轉(zhuǎn)化為圖像的功能。
但是老版本的matlab,還是要通過離散進行逼近——這是更接近于計算機本質(zhì)的表示方法,就跟計算機畫圓一樣
%“%”符號后面跟著注釋x=0:0.01:pi; %向量x=(0,0.01,0.02,...,3.13,3.14) ,記住這種寫法%中間的%跟python不同,matlab里的步長是寫在中間的y1=sin(x); %將x的每一個值代入正弦函數(shù),得到對應的y向量(數(shù)列)%即 向量 y1=(sin(0),sin(0.01),sin(0.02),...sin(3.13),sin(3.14))y2=cos(x); %同樣地,將x的每一個值代入余弦函數(shù),得到對應的y向量(數(shù)列)%即 向量 y2=(cos(0),cos(0.01),cos(0.02),..cos(3.13),cos(3.14))plot(x,y1); %將向量x中每一個維度的值與對應的y在同一維度的值,即(0,sin(0)),(0.01,sin(0.01))...,(3.14,sin(3.14))這些點%在坐標系中標出,然后用折線連起來%由于x內(nèi)的相鄰兩項的值都“挨得很近”,相差很小(即步長很小)%畫出來的圖形與真正的正弦函數(shù)“看不出區(qū)別”如果計算機需要畫出y1(x)和y2(x)的卷積積分,計算機就會試著計算上述代碼段中向量y1和向量y2的卷積和,就是拿出下面兩個多項式,即(3)和(4)相乘,得到一個新的多項式,再取其各項系數(shù)作為結(jié)果向量,再按照上面注釋提到的方法畫圖。
在這里可以推廣一下:
任何一個連續(xù)的函數(shù)圖像,在其定義域內(nèi)都可以看作是步長無限趨于0的向量x作為自變量“一個個地帶入函數(shù)y=f(x)”得到的
y的值所構(gòu)成的(x,y)的點連成的。這些y也能構(gòu)成向量。如果y的定義域是的話,x利用matlab中的寫法就是
把f(x)寫成類似于(3)的多項式就是:
卷積積分就是類似于式子(5)的兩個多項式相乘,再把得到的多項式的各項系數(shù)提取出來,即
總結(jié)
以上是生活随笔為你收集整理的让高中生理解卷积——从多项式乘法开始的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css精灵图(雪碧图)切图
- 下一篇: SPSS SAS 是什么?