加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python – 高斯卷积

发布时间:2020-12-20 11:35:55 所属栏目:Python 来源:网络整理
导读:我需要使用以3934.8A为中心的特定参数的高斯函数来卷积下一条曲线. 我看到的问题是我的曲线是一个离散数组,高斯是一个很好定义的连续函数.我怎样才能做到这一点? 解决方法 要做到这一点,你需要创建一个高斯,它在与曲线相同的空间尺度上离散,然后进行卷积.
我需要使用以3934.8A为中心的特定参数的高斯函数来卷积下一条曲线.

我看到的问题是我的曲线是一个离散数组,高斯是一个很好定义的连续函数.我怎样才能做到这一点?

解决方法

要做到这一点,你需要创建一个高斯,它在与曲线相同的空间尺度上离散,然后进行卷积.

具体来说,假设您的原始曲线具有沿x轴均匀间隔的N个点(其中N通常介于50和10,000左右之间).然后沿x轴的点间距将是(物理范围)/(数字范围)=(3940-3930)/ N,代码如下所示:

dx = float(3940-3930)/N
gx = np.arange(-3*sigma,3*sigma,dx)
gaussian = np.exp(-(x/sigma)**2/2)
result = np.convolve(original_curve,gaussian,mode="full")

这里是一个以零为中心的高斯,并不包括你所指的偏移(对我来说只会增加混淆,因为卷积本质上是一个翻译操作,所以从已翻译的东西开始是令人困惑的).

我强烈建议将所有内容保存在真实的物理单元中,就像我上面所做的那样然后很清楚,例如,高斯的宽度是什么,等等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读