origin 8.0如何进行高斯拟合

origin 8.0如何进行高斯拟合,第1张

origin 8.0进行高斯拟合的方法:

1、导入数据。点击file-import-single ASCII,如图示中的路径。

2、选中数据。按照Analysis—fitting—nonlinear curve fit—open Dialog的图示路径进入数据处理界面。

3、选择左上角setting栏的function selection,右上角栏目中下拉function选择Gauss,进入Gauss拟合界面。

4、选择界面下方的数据栏中的Residual,看是否已经有数据图。点击Initialize Parameter,然后按Fit之后跳至数据表格界面,说明拟合完成。

5、点击开始制作即可回到原数据图,看到图示的画面说明高斯拟合成功。

新建一个函数,代码如下:

function [fitresult, gof] = createFit(x, y)

[xData, yData] = prepareCurveData( x, y) % Set up fittype and options.

ft = fittype( 'gauss1' )

opts = fitoptions( 'Method', 'NonlinearLeastSquares' )

opts.Display = 'Off'

opts.Lower = [-Inf -Inf 0]

opts.StartPoint = [y(ceil(length(x)/2)) x(ceil(length(x)/2)) 0.1] % Fit model to data.

[fitresult, gof] = fit( xData, yData, ft, opts ) % Plot fit with data.

h = plot( fitresult, xData, yData)

xlabel( 'β' )

ylabel( 'R' )

legend off

grid onhold on

plot(fitresult.b1,fitresult.a1,'^','markersize',6)

运行它,然后在命令行窗口输入:createFit(x,y)

可以用lsqcurvefit函数或nlinfit函数,来得到高斯拟合的函数。实现方法:

1、已知数据

x=【。。。】;

y=【。。。】;

2、自定义拟合函数模型,如fun = @(a,x) a(1)*exp(-((x- a(2))/a(3))^2) + a(4)*exp(-((x-a(5))/a(6))^2)

式中:a(1)—a1; a(2)—b1; a(3)—c1; a(4)— a2; a(5)—b2; a(6)—c2

3、利用lsqcurvefit函数或nlinfit函数,求出系数

p = lsqcurvefit(fun,a0,x,y)

p= nlinfit(x,y,fun,a0)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11827414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存