我无法在曲线拟合对象的图中更改x范围(XLim)。在cfit图中更改XLim
准备最少的实施例
让我们定义噪声数据和拟合函数以它,使用fit
从曲线拟合工具箱。
xdata = (0:0.1:1)';
noise = 0.1*randn(size(xdata));
ydata = xdata.^2 + noise;
f = fittype('a*x.^2 + b');
fit1 = fit(xdata, ydata, f, 'StartPoint', [1,1]);
fit1
现在是一个CFIT对象,我们可以使用其(过载)plot
方法它绘制:
plot(fit1, xdata, ydata)
的问题
当我们现在变更情节的XLIM使用set(gca, 'XLim', [0,2])
,绘图更新但拟合曲线没有扩展。你可以这样做自动的从plot
命令中,但它的文档suggests不为我工作:
plot(fit1, xdata, ydata, 'XLim', [0, 1])
-> Subscript indices must either be real positive integers or logicals.
-> Error in cfit/plot (line 228)
-> handles = plot(xpoints(~outliers),ypoints(~outliers),S2,...
如果我使用cftool
的配合(一个GUI包装为fit
),我可以进入XLIM在Tools->Axes Limits
之下。然后在整个范围内显示拟合函数。我怎样才能以编程方式做到这一点?
我知道你可以评估一个给定范围的拟合函数,但是当你必须为置信区间和几个拟合做这些时,这会变得单调乏味。我正在寻找一种更简单的方法,并且我认为我只是错了plot
命令。
谢谢,这个作品!我可以用'plot(fit1,'predobs',0.95)'替换你的最后一行,并获得所需的图形。它是四行而不是一行,但比评估拟合度,下限和上限要好得多,然后手动绘制所有内容。 – 2014-08-28 14:05:19
我很高兴能帮上忙。也许大师仍然会带着更好的方法 – Trogdor 2014-08-28 15:52:55