Convolution卷积算法python以numpy,Matplotlib实现
来源:互联网 发布:mac系统怎么关闭后台 编辑:程序博客网 时间:2024/06/05 23:07
Convolution卷积算法python以numpy,Matplotlib实现
1:简述
Numpy拥有函数numpy.convolve(a, v, mode=’full’)[source]¶,通过该函数完成卷积算法并图形化(Matplotlib)实现。
2:卷积定理
原理:
设:f(x),g(x)是R1上的两个可积函数,作积分:
用处:
二个二维连续函数在空间域中的卷积可求其相应的二个傅立叶变换乘积的反变换而得。反之,在频域中的卷积可用的在空间域中乘积的傅立叶变换而得。
f(x,y) * h(x,y)<=>F(u,v)H(u,v)
f(x,y)h(x,y)<=>[F(u,v) * H(u,v)] (A * B 表示做A与B的卷积)
3:官方函数解读
numpy.convolve(a, v, mode=’full’)
(http://docs.scipy.org/doc/numpy/reference/generated/numpy.convolve.html#r17)
a,v是两个算子(array_like),mode有三种情况,’full‘ : 默认值,将计算每个点的卷积,即若a,v长度为n,m。最终输出图形x长度为(n+m-1),在边界处信号不完全重叠,即存在边界效应。‘same‘:返回长度为max(n,m),仍然有边界效应。‘valid‘:返回长度为max(n,m)-min(n,m)+1。其中只会显示两个信号重叠的部分,不会有边界效应。
类似功能函数:
scipy.signal.fftconvolve %使用快速傅里叶变换卷积函数。scipy.linalg.toeplitz %可用于构造卷积运算符(Used to construct the convolution operator.)。polymul %多项式乘法,可以同本函数获得相同的输出,但是还可以接受poly1d对象作为输入。
案例:
>>> np.convolve([1, 2, 3], [0, 1, 0.5])array([ 0. , 1. , 2.5, 4. , 1.5])>>> np.convolve([1,2,3],[0,1,0.5], 'same')array([ 1. , 2.5, 4. ])>>> np.convolve([1,2,3],[0,1,0.5], 'valid')array([ 2.5])
4:编码尝试
%cmd -> ipython notebook%list和nparry都是单元数据,不能被直接plt。%matplotlib inlineimport numpy as npimport matplotlib.pyplot as pltplt.plot([1,2,3,4])plt.plot([1,1,3])end=np.convolve([1,2,3,4],[1,1,3],'full')plt.plot(end)
0 0
- Convolution卷积算法python以numpy,Matplotlib实现
- python 安装numpy,scipy,matplotlib算法库
- python 卷积Convolution Operator 介绍
- python+numpy+matplotlib安装
- python numpy+matplotlib安装
- python numpy与matplotlib
- python、numpy、matplotlib安装
- convolution卷积
- Python、VPython、NumPy、MatPlotLib简介
- eclipse+python+numpy+scipy+matplotlib
- Python、Numpy、Matplotlib、PIL安装
- python:安装numpy, Scipy,Matplotlib
- python install numpy+scipy+matplotlib
- 安装 python/pip/numpy/matplotlib
- python安装numpy和matplotlib
- Python安装numpy、matplotlib库
- 安装 python/pip/numpy/matplotlib
- deep learning 卷积神经网络的实现(Convolution Neural Networks)
- c 语言 函数命名规则
- 可执行程序的运行原理是什么?
- Android EditText imeOptions属性详解
- UITableView常见属性和方法
- javascript 作用域 闭包 对象 原理和示例分析(上)
- Convolution卷积算法python以numpy,Matplotlib实现
- hihocoder 随机斐波那契(期望,水题)
- Linux学习笔记(MySql操作)
- SQL Developer 连接 Oracle 问题集合
- Android之Adapter用法总结
- Java Cache模拟器(图形界面)
- “未使用调试信息生成二进制文件”
- LIVE555研究之二: RTSP、RTP/RTCP协议介绍
- openfire插件开发之完美开发