Curve fitting C: Non

您所在的位置:网站首页 curve翻译 Curve fitting C: Non

Curve fitting C: Non

2022-03-24 18:15| 来源: 网络整理| 查看: 265

那么,需要多少个高斯分量来拟合数据呢?一个告诉的方法是看残差图(显示数据和拟合模型之间的点对点差异),并添加组分,直到残差是随机的,而不是波浪形的,但只有拟合前当数据是不平滑的才能这样做。这里有一个例子:用两个、三个、四个、五个高斯拟合递增序列的实数的数据集。正如你所看到的这个序列截图,你会看到百分比拟合误差降低,R2值更得接近1,残差变得更小,更随机。(注意在5个组分的配合,第一个和最后一个组分在250-600 x范围没有峰内的数据,而在背景上有)。没有必要去试6个组分的拟合,因5个组件的残差已经随机分布,更多个的组分“拟合噪声”且可能更不稳定,给出一种带有各种噪声的很不一样的结果。

Excel和OpenOffice有许多可下载的非线性迭代拟合曲线的插件和宏,还有一些独立的免费商业程序进行优化。例如,伦敦大学玛丽皇后RogerNix博士开发了一个非常好的EXCEL和VBA的电子制表软件针对X射线光电子能谱(XPS)进行曲线拟合,但也可以用来拟合其他类型的光谱数据。一个4页指令表也提供了。http://www.chem.qmul.ac.uk/software/eXPFit.htm

如果你使用一个电子表格来做曲线拟合,你必须为每个问题指定一个电子表格,正确的数据行数和希望拟合的组分个数。例如CurveFitter.xlsx只有100个信号点和5个高斯,通过简单在22到100行插入行来获得适应更大的数据点,并列向的拖动复制公式到新的单元格。(例如 CurveFitter2.xlsx 是扩展到256个数据点的)。为了处理其他数量的组分或模型形状,你需要在C和G之间、在Q和U之间插入或删除列,并编辑公式,因为当前模版只针对2个、3个、4个、5个、6个的高斯组分设置的。

如果峰在一个基线叠加,你可以包含把基线作为一个组分。例如你在线性斜坡基线上拟合两个高斯峰。为电子表模版选择三个组分,并改变一个原来的高斯组分为直线方程y=mx+b,m是斜率,b是截距。这种情况的模版http://terpconnect.umd.edu/~toh/spectrum/CurveFitter2GaussianBaseline.xlsx 不要点击“使无约束变量为负(Make Unconstrained Variables Non-Negative)”,因为基线模型可能需要负变量。如果你想使用另一种峰的形状或另一种基线形状,你必须在修改行22对应列C到G的方程,并拖动修改列向到最后一行。高斯峰为洛伦兹形状的http://terpconnect.umd.edu/~toh/spectrum/CurveFitter6Lorentzian.xlsx 或者你可以使C到G列包含不同的峰或基线形状的方程。

重点是,实际上你可定制编辑获得一个电子表格模版去拟合你的数据。相比之下,我的MATLAB/OCTAVE peakfit.m函数自动适应任何数量的数据点,并且很简单通过改变输入参数设置40种以上不同模型峰形状和任意峰数量。通过在matlab使用ipf.m,你可以按一个键立即改变峰的形状、峰的数量、基线模型,或重新计算拟合数据子集的不同启动或引导程序。这比电子表格快很多。但是另一方面,这个电子表格应用程序更实用的优势是你可以相对简单的增加你自己制定的形状函数和约束,即使是使用标准的电子表格构造的复杂的公式。如果你在招聘助理,一个经验丰富的电子表格工程师会比matlab的更容易找。所以,如果你不确定要使用哪个,我建议你两种都试一下,再做决定。

------------------------------------------------------------------------------------------


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3