最小二乘进行高斯拟合的matlab程序代码?

2019-07-17 13:26发布

由测试得到的一组数据,运用最小二乘进行高斯拟合的matlab程序代码(二维图)?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
DDL123
2019-07-17 19:26
function [fitresult, gof] = createFit(a, b)
%CREATEFIT(A,B)
%  Create a fit.
%
%  Data for 'untitled fit 1' fit:
%      X Input : a
%      Y Output: b
%  Output:
%      fitresult : a fit object representing the fit.
%      gof : structure with goodness-of fit info.
%
%  另请参阅 FIT, CFIT, SFIT.

%  由 MATLAB 于 01-May-2016 22:45:07 自动生成


%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( a, b );

% Set up fittype and options.
ft = fittype( 'gauss1' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.Lower = [-Inf -Inf 0];
opts.Robust = 'Bisquare';
opts.StartPoint = [9 6 1.51816820741628];

% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );

% Plot fit with data.
figure( 'Name', 'untitled fit 1' );
h = plot( fitresult, xData, yData );
legend( h, 'b vs. a', 'untitled fit 1', 'Location', 'NorthEast' );
% Label axes
xlabel a
ylabel b
grid on

一周热门 更多>