matlab中conv2函數(shù) matlab如何實現(xiàn)兩個連續(xù)函數(shù)的卷積,并得到卷積函數(shù)?
matlab如何實現(xiàn)兩個連續(xù)函數(shù)的卷積,并得到卷積函數(shù)? 實現(xiàn)方法:在MATLAB中,可以用函數(shù)y=filter(p,d,x)實現(xiàn)差分方程的仿真,也可以用函數(shù) y=conv(x,h)計算卷積。(1)
matlab如何實現(xiàn)兩個連續(xù)函數(shù)的卷積,并得到卷積函數(shù)?
實現(xiàn)方法:在MATLAB中,可以用函數(shù)y=filter(p,d,x)實現(xiàn)差分方程的仿真,也可以用函數(shù) y=conv(x,h)計算卷積。(1)即y=filter(p,d,x)用來實現(xiàn)差分方程,d表示差分方程輸出y的系數(shù),p表示輸入x的系數(shù),而x表示輸入序列。輸出結(jié)果長度數(shù)等于x的長度。實現(xiàn)差分方程,先從簡單的說起:filter([1,2],1,[1,2,3,4,5]),實現(xiàn)y[k]=x[k] 2*x[k-1]y[1]=x[1] 2*0=1 (x[1]之前狀態(tài)都用0)y[2]=x[2] 2*x[1]=2 2*1=4(2)y=conv(x,h)是用來實現(xiàn)卷級的,對x序列和h序列進行卷積,輸出的結(jié)果個數(shù)等于x的長度與h的長度之和減去1。卷積公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm. MATLAB中提供了卷積運算的函數(shù)命令conv2,其語法格式為:C = conv2(A,B) C = conv2(A,B)返回矩陣A和B的二維卷積C。若A為ma×na的矩陣,B為mb×nb的矩陣,則C的大小為(ma mb-1)×(na nb-1)。 MATLAB圖像處理工具箱提供了基于卷積的圖象濾波函數(shù)filter2,filter2的語法格式為: Y = filter2(h,X) 其中Y = filter2(h,X)返回圖像X經(jīng)算子h濾波后的結(jié)果,默認返回圖像Y與輸入圖像X大小相同。例如: 其實filter2和conv2是等價的。MATLAB在計算filter2時先將卷積核旋轉(zhuǎn)180度,再調(diào)用conv2函數(shù)進行計算。 Fspecial函數(shù)用于創(chuàng)建預(yù)定義的濾波算子,其語法格式為: h = fspecial(type) h = fspecial(type,parameters) 參數(shù)type制定算子類型,parameters指定相應(yīng)的參數(shù),具體格式為: type="average",為均值濾波,參數(shù)為n,代表模版尺寸,用向量表示,默認值為[3,3]。 type= "gaussian",為高斯低通濾波器,參數(shù)有兩個,n表示模版尺寸,默認值為[3,3],sigma表示濾波器的標準差,單位為像素,默認值為0.5