2014-04-27 37 views
0

我不知道什麼是做錯了。指數擬合溢出編譯錯誤

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

正如你可以在文檔頁面上看到你獲得的"General::ovfl"消息,這裏的問題可能是由NonlinearModelFit選擇的錯誤起始值。讓我們嘗試指定更好的起始值:

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

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

正確答案並且沒有錯誤消息。

+0

它工作。謝謝 – user3366345