日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

转 matlab卷积函数介绍 conv filter conv2

發(fā)布時間:2023/12/9 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转 matlab卷积函数介绍 conv filter conv2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近在做控制算法實(shí)現(xiàn)的時候,對于其中參雜的各種差分、卷積很頭疼,就在網(wǎng)上搜集了些資料,匯總于此,以做備忘。
在MATLAB中,可以用函數(shù)y=filter(p,d,x)實(shí)現(xiàn)差分方程的仿真,也可以用函數(shù) y=conv(x,h)計(jì)算卷積。
(1)即y=filter(p,d,x)用來實(shí)現(xiàn)差分方程,d表示差分方程輸出y的系數(shù),p表示輸入x的系數(shù),而x表示輸入序列。輸出結(jié)果長度數(shù)等于x的長度。

實(shí)現(xiàn)差分方程,先從簡單的說起:
filter([1,2],1,[1,2,3,4,5]),實(shí)現(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)是用來實(shí)現(xiàn)卷級的,對x序列和h序列進(jìn)行卷積,輸出的結(jié)果個數(shù)等于x的長度與h的長度之和減去1。

卷積公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm.

程序一:以下兩個程序的結(jié)果一樣

(1)

h = [3 2 1 -2 1 0 -4 0 3]; % impulse responsex = [1 -2 3 -4 3 2 1]; % input sequencey = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output Obtained by Convolution'); grid;

(2)

x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude'); title('Output Generated by Filtering'); grid;

程序二:filter和conv的不同

x=[1,2,3,4,5];h=[1,1,1];y1=conv(h,x)y2=filter(h,1,x)y3=filter(x,1,h)結(jié)果:y1 = 1 3 6 9 12 9 5y2 = 1 3 6 9 12? y3 = 1 3 6

可見:filter函數(shù)y(n)是從n=1開始,認(rèn)為所有n<1都為0;而conv是從卷積公式計(jì)算,包括n<1部分。

因此filter 和conv 的結(jié)果長短不同

程序三:濾波后信號幅度的變化

num=100; %總共1000個數(shù) x=rand(1,num); %生成0~1隨機(jī)數(shù)序列 x(x>0.5)=1; x(x<=0.5)=-1; h1=[0.2,0.5,1,0.5,0.2]; h2=[0,0,1,0,0];y1=filter(h1,1,x);y2=filter(h2,1,x);n=0:99;subplot(2,1,1);stem(n,y1);subplot(2,1,2); stem(n,y2);

MATLAB中提供了卷積運(yùn)算的函數(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)。

例:

A=magic(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> B=[1 2 1 ;0 2 0;3 1 3] B = 1 2 1 0 2 0 3 1 3 >> C=conv2(A,B) C = 17 58 66 34 32 38 15 23 85 88 35 67 76 16 55 149 117 163 159 135 67 79 78 160 161 187 129 51 23 82 153 199 205 108 75 30 68 135 168 91 84 9 33 65 126 85 104 15 27

MATLAB圖像處理工具箱提供了基于卷積的圖象濾波函數(shù)filter2,filter2的語法格式為:
Y = filter2(h,X)
其中Y = filter2(h,X)返回圖像X經(jīng)算子h濾波后的結(jié)果,默認(rèn)返回圖像Y與輸入圖像X大小相同。例如:
其實(shí)filter2和conv2是等價的。MATLAB在計(jì)算filter2時先將卷積核旋轉(zhuǎn)180度,再調(diào)用conv2函數(shù)進(jìn)行計(jì)算。
Fspecial函數(shù)用于創(chuàng)建預(yù)定義的濾波算子,其語法格式為:

h = fspecial(type) h = fspecial(type,parameters)

參數(shù)type制定算子類型,parameters指定相應(yīng)的參數(shù),具體格式為:
type=’average’,為均值濾波,參數(shù)為n,代表模版尺寸,用向量表示,默認(rèn)值為[3,3]。
type= ‘gaussian’,為高斯低通濾波器,參數(shù)有兩個,n表示模版尺寸,默認(rèn)值為[3,3],sigma表示濾波器的標(biāo)準(zhǔn)差,單位為像素,默認(rèn)值為0.5

總結(jié)

以上是生活随笔為你收集整理的转 matlab卷积函数介绍 conv filter conv2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。