① 卷积计算(在线等!)
[10,23,23,27,19,13,12,15,21,29,25,13,10]
这个方法很简单,你把两个序列像做乘法一样X列上、H列下,右端对齐。X列从右边第一个数5开始向左遍历,均乘以H列右侧第一个数2,这样得到一个新的数列,这个数列右端与H列中右端的2对齐。然后X列从右端开始向左遍历,每个数乘以H列中的1,也形成新的序列,这个序列右端与H列的1对齐。以此类推,形成四个序列,然后从上到下相加,就是最终结果。
这个计算的竖式与乘法基本一致,只是不需要进位。因为计算的竖式是立体结构的,无法在这里表达,所以你就发挥想象来理解这段文字吧,多动动脑子。我也没学复变。这是根据信号与系统里离散时间信号卷积的计算方法得来的。如果有疑虑请自行查阅相关书籍。只要看个例题就会了
② 卷积的对位相乘法怎么算的
解释: 在泛函分析中,卷积、旋积或摺积(英语:Convolution)是通过两个函数f 和g 生成第三个函数的一种数学算子,表征函数f 与g经过翻转和平移的重叠部分的面积。 如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。 两个函数要求: 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。 F(g(x)*f(x)) = F(g(x))F(f(x)) 其中F表示的是傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换、Z变换、Mellin变换和Hartley变换(参见Mellin inversion theorem)等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n的序列,按照卷积的定义进行计算,需要做2n- 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 本回答由科学教育分类达人 章斌推荐
③ 每个节点值与卷积核中相应节点值做什么运算
每个节点值与卷积核中相应节点值做卷积运算。
卷积计算法:要计算一个特定点的卷积值,首先将核的参考点定位到该特定点,核的其余元素覆盖矩阵中相对应的局部周围点。
④ 求问 高斯卷积核 那个矩阵是怎么求出来的呢
没有矩阵卷积的,只有向量卷积.当然,如果你硬要把向量理解为一个1*n的矩阵,那也说的过去. 所谓两个向量卷积,说白了就是多项式乘法. 比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列,比如就按升幂吧,写出对应的多项式:1+2x+3x^2;同样的,把q的元素也作为多项式的系数按升幂排列,写出对应的多项式:1+x. 卷积就是“两个多项式相乘取系数”. (1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3 所以p和q卷积的结果就是[1 3 5 3]. 记住,当确定是用升幂或是降幂排列后,下面也都要按这个方式排列,否则结果是不对的. 你也可以用matlab试试 p=[1 2 3] q=[1 1] conv(p,q) 看看和计算的结果是否相同.
⑤ 通信仿真中的卷积为什么用乘实现
在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积。
(1)即y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。
实现差分方程,先从简单的说起:
filter([1,2],1,[1,2,3,4,5]),实现y[k]=x[k]+2*x[k-1]
y[1]=x[1]+2*0=1 (x[1]之前状态都用0)
y[2]=x[2]+2*x[1]=2+2*1=4
(2)y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1。
卷积公式:z(n)=x(n)*y(n)= ∫x(m)y(n-m)dm.
程序一:以下两个程序的结果一样
(1)h = [3 2 1 -2 1 0 -4 0 3]; % impulse response
x = [1 -2 3 -4 3 2 1]; % input sequence
y = 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)
结果:y1 = 1 3 6 9 12 9 5
y2 = 1 3 6 9 12
y3 = 1 3 6
可见:filter函数y(n)是从n=1开始,认为所有n<1都为0;而conv是从卷积公式计算,包括n<1部分。
因此filter 和conv 的结果长短不同
程序三:滤波后信号幅度的变化
num=100; %总共1000个数
x=rand(1,num); %生成0~1随机数序列
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中提供了卷积运算的函数命令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图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为:
Y = filter2(h,X)
其中Y = filter2(h,X)返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。例如:
其实filter2和conv2是等价的。MATLAB在计算filter2时先将卷积核旋转180度,再调用conv2函数进行计算。
Fspecial函数用于创建预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type,parameters)
参数type制定算子类型,parameters指定相应的参数,具体格式为:
type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为0.5
⑥ 请问下卷积怎么算的
代卷积公式啊,我这里打不出公式里的那些符号.看概率课本,多维随机变量那章,有详细的步骤
⑦ 矩阵卷积的运算
最近在看图像处理,卷积运算这一块也查了很多,但是感觉都写的太复杂,我这里简单的写一下卷积到底是一个什么计算过程。
假设有一个卷积核h,就一般为3*3的矩阵:
有一个待处理矩阵x:
h*x的计算过程分为三步
第一步,将卷积核翻转180°,也就是成为了
第二步,将卷积核h的中心对准x的第一个元素,然后对应元素相乘后相加,没有元素的地方补0。
这样结果Y中的第一个元素值Y11=1*0+2*0+1*0+0*0+0*1+0*2+-1*0+-2*5+-1*6=-16
第三步每个元素都像这样计算出来就可以得到一个输出矩阵,就是卷积结果
像这样计算,其他过程略了。
最后结果
注意:
我这里是用0补全原矩阵的,但我们不一定选择0。在Opencv的cvFilter2D函数中,就没有使用0来补全矩阵,而是用了边缘拷贝的方式,下一篇我会介绍Opencv的CvFilter2D函数卷积运算过程。
⑧ 卷积运算步骤
首先,卷积核相同,输入相同,输出的特征是一样的。只不过将输出的矩阵形式换成了列向量的形式。实质上一般卷积运算与矩阵中的卷积运算并没有差异,唯一的差别仅仅体现在将矩阵元素重排成为了行向量或列向量核矩阵很多时候都是根据经验选取,或者由学习得到
⑨ 什么是矩阵卷积
矩阵卷积概念:
是得到图像处理的一个初级效果非常有效并快捷的工具。它是一个5X5或3X3的矩阵,一般使用3X3矩阵就可以得到你的想要的效果,如果一个5X5矩阵的周围一圈值都是0,那么一些程序会自动默认它成3X3矩阵。
矩阵卷积的具体工作原理:
点阵图中的每一个像素被称为“初步像素”,用与卷积矩阵同样面积的“初步像素”从左到右从上到下与卷积矩阵中相应位置的值相乘,再将得到的9个或25个中间值相加,就得到了“初步像素”矩阵中央的一个值的结果值再与Divisor(因子)相除,与Offset(偏移量)相加,最后得到终值。
例如:把模板(n*n)放在矩阵上(中心对准要处理的元素),用模板的每个元素去乘矩阵中的的元素,累加和等于这个元素例如例子中的第二行第二个元素16= 1*2+1*1+1*3+1*1+1*2+1*1+1*2+1*1+1*2+1*1+1*3的计算。
依次计算每个元素的值,如果矩阵的中心在边缘就要将原矩阵进行扩展,例如补0,或者直接规定模板的中心距离边缘(n-1)/2个单位以上。
(9)卷积核的乘法计算法扩展阅读:
卷积的计算步骤:
(1) 卷积核绕自己的核心元素顺时针旋转180度。(容易被遗忘,计算时要牢记。)
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方。
(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘。
(4) 第三步各结果的和做为该输入像素对应的输出像素。
卷积的计算方法有移位法、MATLAB编程计算法还有解析法,编程计算法最简单,直接调用函数计算即可,但是对于考试或者不懂编程语言的人来说无法使用,移位法比较麻烦,要画图还常常会在左移右移上弄混,解析法就更复杂,更难使用。
卷积处理规则:
A、卷积计算中的半成品支持除个别计价法外的其余五种计价方式。
B、卷积计算中不支持材料及外购半成品耗用表手工增加、修改、删除。
C、支持成本管理中选项中所有计算方法(包括批次法、品种法)。