如何用matlab求两个函数的卷积式?

如何用matlab求两个函数的卷积式?,第1张

function

Convolution();

t=-4:0001:4

e=rectpuls(t-025,15);

plot(t,e),pause

h=tripuls(t-1,2,1);

plot(t,h),pause

s=-8:0001:8

f=conv(e,h);

plot(s,f)

卷积后信号就变长了,如果不想改变信号,改为:f=conv(e,h,'same');

矩阵卷积概念:

是得到图像处理的一个初级效果非常有效并快捷的工具。它是一个5X5或3X3的矩阵,一般使用3X3矩阵就可以得到你的想要的效果,如果一个5X5矩阵的周围一圈值都是0,那么一些程序会自动默认它成3X3矩阵。

矩阵卷积的具体工作原理:

点阵图中的每一个像素被称为“初步像素”,用与卷积矩阵同样面积的“初步像素”从左到右从上到下与卷积矩阵中相应位置的值相乘,再将得到的9个或25个中间值相加,就得到了“初步像素”矩阵中央的一个值的结果值再与Divisor(因子)相除,与Offset(偏移量)相加,最后得到终值。

例如:把模板(nn)放在矩阵上(中心对准要处理的元素),用模板的每个元素去乘矩阵中的的元素,累加和等于这个元素例如例子中的第二行第二个元素16= 12+11+13+11+12+11+12+11+12+11+13的计算。

依次计算每个元素的值,如果矩阵的中心在边缘就要将原矩阵进行扩展,例如补0,或者直接规定模板的中心距离边缘(n-1)/2个单位以上。

扩展资料:

卷积的计算步骤:

(1)    卷积核绕自己的核心元素顺时针旋转180度。(容易被遗忘,计算时要牢记。)

(2)    移动卷积核的中心元素,使它位于输入图像待处理像素的正上方。

(3)    在旋转后的卷积核中,将输入图像的像素值作为权重相乘。

(4)    第三步各结果的和做为该输入像素对应的输出像素。

卷积的计算方法有移位法、MATLAB编程计算法还有解析法,编程计算法最简单,直接调用函数计算即可,但是对于考试或者不懂编程语言的人来说无法使用,移位法比较麻烦,要画图还常常会在左移右移上弄混,解析法就更复杂,更难使用。

卷积处理规则: 

A、卷积计算中的半成品支持除个别计价法外的其余五种计价方式。 

B、卷积计算中不支持材料及外购半成品耗用表手工增加、修改、删除。

C、支持成本管理中选项中所有计算方法(包括批次法、品种法)。

-卷积

用matlab中con函数求卷积

nction coresult = xcorr_my(A,B)

% XCORR_MY 自编相关函数

% copyright @lskyp 2009

% 20090511

length1 = length(A);

length2 = length(B);

if length1 ~= length2

if length1

最好把源程序贴出来看一下的。

这个程序不能直接运行,属于自定义函数。你在命令窗口直接调用就行了。调用代码为:

x1=[1 3 5];

x2=[2 4 6]; %x1和x2为信号序列

f=circonvt(x1,x2,6) %循环卷积长度为5,你可以根据自己的要求进行设置,大于信号的序列里面元素的个数就行了。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/11671411.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存