当使用 Matlab 包 cftool 进行曲线拟合时,可以选择生成与拟合对应的代码。这是一个示例结果:
%% Fit: 'myfit'.
[xData, yData, weights] = prepareCurveData( x, y, weights);
% Set up fittype and options.
ft = fittype( 'a^x+b', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( ft );
opts.Display = 'Off';
opts.Lower = [-Inf -Inf];
opts.StartPoint = [0 0];
opts.Upper = [Inf Inf];
opts.Weights = weights;
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
% Plot fit with data.
figure( 'Name', 'myfit' );
h = plot( fitresult, xData, yData );
% Label axes
xlabel( 'x' );
ylabel( 'y' );
grid on
我想使用单独的错误向量绘制与自定义误差线相同的拟合。通常,我会使用该函数errorbar()
代替plot()
,但它不接受此代码中fitobject
的对象fitresult
。实际上,此代码使用的唯一原因plot()
是曲线拟合工具箱中有一个重载版本,plot()
与 normal 完全分开plot()
,它确实接受这些对象。
如何绘制 cftool 适合误差线?