https://www.mathworks.com/help/matlab/ref/conv.html?s_tid=gn_loc_drop

conv

Convolution and polynomial multiplication

Syntax

Description

example

w = conv(u,v) returns the convolution of vectors u and v. If u and v are vectors of polynomial coefficients, convolving them is equivalent to multiplying the two polynomials.

example

w = conv(u,v,shape) returns a subsection of the convolution, as specified by shape. For example, conv(u,v,'same') returns only the central part of the convolution, the same size as u, and conv(u,v,'valid') returns only the part of the convolution computed without the zero-padded edges.

 

Examples

collapse all

Polynomial Multiplication via Convolution

Create vectors u and v containing the coefficients of the polynomials and .

u = [1 0 1];
v = [2 7];

Use convolution to multiply the polynomials.

w = conv(u,v)
w =

     2     7     2     7

w contains the polynomial coefficients for .

Vector Convolution

Create two vectors and convolve them.

u = [1 1 1];
v = [1 1 0 0 0 1 1];
w = conv(u,v)
w =

     1     2     2     1     0     1     2     2     1

The length of w is length(u)+length(v)-1, which in this example is 9.

 

Central Part of Convolution

Create two vectors. Find the central part of the convolution of u and v that is the same size as u.

u = [-1 2 3 -2 0 1 2];
v = [2 4 -1 1];
w = conv(u,v,'same')
w =

    15     5    -9     7     6     7    -1

w has a length of 7. The full convolution would be of length length(u)+length(v)-1, which in this example would be 10.

 

Input Arguments

u,v — Input vectors
vectors

Input vectors, specified as either row or column vectors. The
output vector is the same orientation as the first input argument, u.
The vectors u and v can be different
lengths or data types.

Data Types: double | single
Complex Number Support: Yes

shape — Subsection of convolution
'full' (default) | 'same' | 'valid'

Subsection of the convolution, specified as 'full', 'same',
or 'valid'.

'full'

Full convolution (default).

'same'

Central part of the convolution of the same size as u.

'valid'

Only those parts of the convolution that are computed
without the zero-padded edges. Using this option, length(w) is max(length(u)-length(v)+1,0),
except when length(v) is zero. If length(v)
= 0
, then length(w) = length(u).

Convolution

@向量的卷积 重叠面积

The convolution of two vectors, u and v, represents the area of overlap under the points as v slides across u. Algebraically, convolution is the same operation as multiplying polynomials whose coefficients are the elements of u and v.

Let m = length(u) and n = length(v) . Then w is the vector of length m+n-1 whose kth element is

The sum is over all the values of j that lead to legal subscripts for u(j) and v(k-j+1), specifically j = max(1,k+1-n):1:min(k,m). When m = n, this gives

w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
...
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
...
w(2*n-1) = u(n)*v(n)

https://www.zhihu.com/question/22298352?rf=21686447


卷积就是带权的积分

从概率论的角度来理解吧,举例为X Y 两组连续型随机变量,那么令Z=X+Y ,当X Y两组变量独立时,就能推导出卷积公式了,fz=fx*fy的意义就是在于两组变量叠加出来的概率密度,也就是算两信号X Y混叠起来的时候的响应
:
他的女儿是做环保的,有一次她接到一个项目,评估一个地区工厂化学药剂的污染(工厂会排放化学物质,化学物质又会挥发散去),然后建模狮告诉她药剂的残余量是个卷积。她不懂就去问她爸爸,prof就给她解释了。假设t时刻工厂化学药剂的排放量是f(t) mg,被排放的药物在排放后Δt时刻的残留比率是g(Δt) mg/mg;那么在u时刻,对于t时刻排放出来的药物,它们对应的Δt=u-t,于是u时刻化学药剂的总残余量就是∫f(t)g(u-t)dt,这就是卷积了。

Convolution and polynomial multiplication的更多相关文章

  1. Algorithm: 多项式乘法 Polynomial Multiplication: 快速傅里叶变换 FFT / 快速数论变换 NTT

    Intro: 本篇博客将会从朴素乘法讲起,经过分治乘法,到达FFT和NTT 旨在能够让读者(也让自己)充分理解其思想 模板题入口:洛谷 P3803 [模板]多项式乘法(FFT) 朴素乘法 约定:两个多 ...

  2. matlab中卷积convolution与filter用法

    转自:https://blog.csdn.net/dkcgx/article/details/46652021 转自:https://blog.csdn.net/Reborn_Lee/article/ ...

  3. 图像处理之基础---卷积及其快速算法的C++实现

    头文件: /* * Copyright (c) 2008-2011 Zhang Ming (M. Zhang), zmjerry@163.com * * This program is free so ...

  4. 二维码详解(QR Code)

    作者:王子旭链接:https://zhuanlan.zhihu.com/p/21463650来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 2016.7.5 更新:长文 ...

  5. CKKS Part3: CKKS的加密和解密

    本篇文章翻译于CKKS EXPLAINED, PART 3: ENCRYPTION AND DECRYPTION,主要介绍CKKS方案的加密和解密. 介绍 在上一篇 CKKS Part2: CKKS的 ...

  6. FZU 2215 Simple Polynomial Problem(简单多项式问题)

    Description 题目描述 You are given an polynomial of x consisting of only addition marks, multiplication ...

  7. Understanding Convolution in Deep Learning

    Understanding Convolution in Deep Learning Convolution is probably the most important concept in dee ...

  8. polynomial time

    https://en.wikipedia.org/wiki/Time_complexity#Polynomial_time An algorithm is said to be of polynomi ...

  9. POJ1060 Modular multiplication of polynomials解题报告 (2011-12-09 20:27:53)

    Modular multiplication of polynomials Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3 ...

随机推荐

  1. jvm虚拟机原理1

    JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操 ...

  2. 使用什么工具连接MySQL Server

    字符界面:命令行终端(需MySQL Client) GUI界面:Navicat.MySQL Workbench 开发语言:使用相应语言的MySQL数据库驱动包或模块连接MySQL 我一般用的是命令行, ...

  3. 转载:【原译】Erlang构建和匹配二进制数据(Efficiency Guide)

    转自:http://www.cnblogs.com/futuredo/archive/2012/10/19/2727204.html Constructing and matching binarie ...

  4. jquery-插入兄弟元素

    1.after方法 在匹配元素集合中的每个元素的 后面 插入参数所指定的内容,作为其兄弟节点 参数类型说明: 1)普通字符串(可包含各种html标签) $('div').after('html字符串' ...

  5. 五步让你玩转CocoaPods

    1 安装和升级 $ sudo gem install cocoapods  $ pod setup 2 更换为taobao的源 $ gem sources -r https://rubygems.or ...

  6. 如何在vs2008安装64位编译器

    1.打开D:\Microsoft Visual Studio 9.0\Microsoft Visual Studio 2008 Professional Edition - CHS setup.exe ...

  7. Word公式装逼技巧,你绝对不会!

    Word论文排版是非常有技术含量的.只是纯文本格式时都有很多技巧,累倒一群人,更不用说还加上有数学公式了.有数学公式也就算了,问题是公式排版更是难上加难.想要在人前装逼一把?没有这些技巧你是绝对不行的 ...

  8. 用ADO操作数据库的方法步骤

    用ADO操作数据库的方法步骤 学习ADO时总结的一些经验 - 技术成就梦想 - 51CTO技术博客 http://freetoskey.blog.51cto.com/1355382/989218   ...

  9. dedecms的arclist循环中判断第一个li添加css,否则不加

    dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加   写法如下: {dede:arclist row=4 flag='p'} <li [field:glo ...

  10. swift - UIDatePicker 的用法

    1.初始化button,datepicker,label等控件,初始化时间格式化器     var datePicker = UIDatePicker()    var btnShows = UIBu ...