【发布时间】:2012-10-28 17:39:59
【问题描述】:
我有一组带有峰值的频率数据,我需要将其拟合成高斯曲线,然后从中获得半峰全宽。我可以做的 FWHM 部分,我已经有一个代码,但是我在编写适合高斯的代码时遇到了麻烦。
有没有人知道可以为我做这件事或能够为我指明正确方向的任何功能? (我可以对直线和多项式进行最小二乘拟合,但我不能让它适用于高斯)
如果它同时兼容 Octave 和 Matlab 也会很有帮助,因为我目前有 Octave,但要到下周才能访问 Matlab。
任何帮助将不胜感激!
【问题讨论】:
-
你有一个峰值(只有 1 个高斯)吗?还是多个峰(多个重叠的高斯)?
-
每个文件只有一个峰值。
-
如果它只是一个峰值,取数字的平均值和标准差,这定义了您的样本正态分布。你试过吗?否则,如果您有统计工具箱,请使用 normfit()。
-
@Justin:你的第一句话是错误的。如果我在
x=-100周围有一堆数据点,y-values 对应于那里的标准法线,并且在x=-2周围有一堆相似的值,那么所有这些点的平均值显然 not 为零,标准差显然不会为一。
标签: matlab octave curve-fitting gaussian