主要内容

评估曲线拟合

此示例显示了如何使用曲线拟合。

加载数据并拟合多项式曲线

加载人口普查curvefit = fit(cdate,pop,'poly3',,,,“正常化”,,,,'在'
curvefit =线性模型poly3:curvefit(x)= p1*x^3 + p2*x^2 + p3*x + p4其中x通过平均1890和std 62.05系数(具有95%置信度):p1 = 0.921 = 0.921(-0.9743,2.816)p2 = 25.18(23.57,26.79)p3 = 73.86(70.33,77.39)p4 = 61.74(59.69,63.8)

输出显示拟合模型方程,拟合系数和拟合系数的置信界。

绘制拟合,数据,残差和预测边界

情节(曲线,cdate,pop)

图包含一个轴对象。轴对象包含2个类型行的对象。这些对象表示数据,拟合曲线。

绘制残差拟合。

情节(曲线,cdate,pop,“残差”

图包含一个轴对象。轴对象包含2个类型行的对象。这些对象表示数据,零行。

在拟合上绘制预测界限。

情节(曲线,cdate,pop,'predfunc'

图包含一个轴对象。轴对象包含4个类型行的对象。这些对象表示数据,拟合曲线,预测界限。

评估指定点的拟合

通过指定值的值来评估特定点的拟合X,使用此表格:y = fittedModel(x)

Curvefit(1991)
ANS = 252.6690

评估许多点的拟合值

评估值的模型,以推断到2050年。

xi =(2000:10:2050)。';曲线(XI)
ans =6×1276.9632 305.4420 335.5066 367.1802 400.4859 435.4468

获得这些值的预测界限。

ci = predint(curvefit,xi)
CI =6×2267.8589 286.0674 294.3070 316.5770 321.5924 349.4208 349.7275 384.6329 378.7255 422.2462 408.5919 462.3017

绘制跨推断拟合范围的拟合和预测间隔。默认情况下,拟合在数据范围内绘制。要查看从拟合中推断的值,请在绘制拟合之前将轴的上部X限制设置为2050。要绘制预测间隔,请使用predobs或者preatfun作为情节类型。

情节(CDATE,POP,'o')xlim([1900,2050])持有情节(曲线,“ predobs') 抓住离开

图包含一个轴对象。轴对象包含4个类型行的对象。这些对象代表拟合曲线,预测范围。

获取模型方程

输入拟合名称以显示模型方程,拟合系数和拟合系数的置信界。

曲线
curvefit =线性模型poly3:curvefit(x)= p1*x^3 + p2*x^2 + p3*x + p4其中x通过平均1890和std 62.05系数(具有95%置信度):p1 = 0.921 = 0.921(-0.9743,2.816)p2 = 25.18(23.57,26.79)p3 = 73.86(70.33,77.39)p4 = 61.74(59.69,63.8)

要仅获取模型方程,请使用公式

公式(曲线)
ans ='p1*x^3 + p2*x^2 + p3*x + p4'

获取系数名称和值

按名称指定系数。

p1 = curvefit.p1
P1 = 0.9210
p2 = curvefit.p2
P2 = 25.1834

获取所有系数名称。查看拟合方程(例如,f(x)= p1*x^3+...)查看每个系数的模型项。

系数(CurveFit)
ans =4x1单元{'p1'} {'p2'} {'p3'} {'p4'}

获取所有系数值。

系数(CurveFit)
ans =1×40.9210 25.1834 73.8598 61.7444

在系数上获得信心界限

在系数上使用置信度范围来帮助您评估和比较拟合。系数上的置信度确定了其准确性。相距遥远的界限表示不确定性。如果线性系数的边界交叉零,则意味着您不能确定这些系数与零不同。如果某些模型项的系数为零,则它们没有帮助。

contint(curvefit)
ans =2×4-0.9743 23.5736 70.3308 59.6907 2.8163 26.7931 77.3888 63.7981

检查合适的统计数据

要在命令行中获得拟合优度统计信息,您可以:

  • 打开曲线钳工应用程序。在曲线钳工标签,在出口部分,单击出口并选择导出到工作区将您的合适性和合适性导出到工作区。

  • 指定gof使用合身功能。

重新创建指定的拟合gof和输出参数以获取合适的统计信息和拟合算法信息。

[curvefit,gof,output] = fit(cdate,pop,'poly3',,,,“正常化”,,,,'在'
curvefit =线性模型poly3:curvefit(x)= p1*x^3 + p2*x^2 + p3*x + p4其中x通过平均1890和std 62.05系数(具有95%置信度):p1 = 0.921 = 0.921(-0.9743,2.816)p2 = 25.18(23.57,26.79)p3 = 73.86(70.33,77.39)p4 = 61.74(59.69,63.8)
gof =带有字段的结构:SSE:149.7687 RSQUARE:0.9988 DFE:17 ADGRSQUARE:0.9986 RMSE:2.9682
输出=带有字段的结构:数字:21 numparam:4个残差:[21x1 double] jacobian:[21x4 double] exitflag:1算法:'qR分解和求解'迭代:1

绘制残差的直方图以寻找大致正常的分布。

直方图(输出。保留,10)

图包含一个轴对象。轴对象包含类型直方图的对象。

绘制拟合,数据和残差

情节(曲线,cdate,pop,'合身',,,,“残差”) 传奇地点西南子图(2,1,1)传奇地点西北

图包含2个轴对象。轴对象1包含2个类型行的对象。这些对象表示数据,拟合曲线。轴对象2包含2个类型行的对象。这些对象表示数据,零行。

查找方法

列出您可以使用的每种方法。

方法(CurveFit)
类CFIT的方法:ArgNames crint crominula numcoeffs setOptions类别依赖名称indepnames plot plot类型cfit区分集成predint coeffnames feval islinear islinear probnames coeffvalues fitoptions numargs pofvalues pofvalues

使用帮助命令找出如何使用合适方法。

帮助cfit/差异
区分区分拟合结果对象。deriv1 =区分(fitobj,x)在x指定的点处区分模型fitobj,并在deriv1中返回结果。FitOBJ是由拟合或CFIT函数生成的拟合对象。x是矢量。deriv1是一个与x相同的向量。从数学上讲,deriv1 = d(fitobj)/d(x)。[deriv1,deriv2] =区分(fitobj,x)分别计算模型fitobj的第一个和第二个衍生物,deriv1和deriv2。另请参见CFIT/集成,拟合,CFIT。