指数拟合溢出编译错误

时间:2014-04-27 19:24:54

标签: wolfram-mathematica

我不知道出了什么问题。

amount={20,30,40,50,60,70,80,90,120,130,140,150,160,170,180,190,200}

capa={12,32,50,65,87,110,145,185,320,380,445,510,580,650,710,790,860}

data=Transpose[{amount,capa}]

nlm=NonlinearModelFit[data,A*(1-Exp[-b*x]),{A,B},x]

使用这个我得到溢出编译错误,没有任何反应。

当我在Origin或Matplotlib中使用完全相同的拟合时,我得到A=-135B=-0.01017的正确拟合。

1 个答案:

答案 0 :(得分:1)

正如您可以在文档页面上看到的"General::ovfl"消息所示,NonlinearModelFit选择的错误起始值可能存在问题。让我们尝试指定更好的起始值:

nlm = NonlinearModelFit[data, a*(1 - Exp[-b*x]), {{a, -1}, {b, 0}}, x];
nlm["BestFitParameters"]

(*=> {a -> -134.847, b -> -0.0101706} *)

正确答案,没有错误消息。