2012-07-10 66 views
0

我想在一些項目的數據上運行mathematica NonlinearModelFit。它是一個相當複雜的模型,有9個係數和5個自變量。我以模型需要的方式創建了數據,並且我認爲我正確地調用了該函數。 這裏是數據的一個示例:Mathematica NonlinearModelFit奇怪的輸出

{{16.5892, 0.631, 1.7707, 1258.21, 580.271, 14.02}, {16.2855, 0.813, 
1.76756, 2098.41, 745.624, 13.59}, {16.036, 0.58, 1.77311, 846.994, 718.092, 13.41}} 

當然數據的總量爲約30的數據集爲功能使用。 這裏是我的函數調用:

nlm = NonlinearModelFit[data, a + c*b + d*bminv + e*M + f*bminv*M + g*x + h*x^2 + i*y + j*y^2, 
{a, c, d, e, f, g, h, i, j}, {b, bminv, M, x, y}]; 

我認爲這應該工作,但我得到一個非常奇怪的輸出:

FittedModel [38592.8 + 0.811612b + < < 9 >> + 3.06099 * 10^- 7 * y^2]^3

該模型的數字可能是正確的,但我不明白的部分與< < 9 >>,甚至更多,所以我不明白如何FittedModel函數,這是NonlinearModelFit總是返回什麼,是立方體。

除了輸出的奇怪之外,它也是一個不可輸出的輸出,我嘗試過使用FittedModel對象的函數,但它們都不起作用。

如果有人對輸出的意義,如何解決這個問題有一些建議,或者如果我只是做了我的函數調用或數據的錯誤,將不勝感激。

謝謝。

回答

0

這似乎工作,我沒有得到^3

data = {{16.5892, 0.631, 1.7707, 1258.21, 580.271, 14.02}, {16.2855, 0.813, 1.76756, 2098.41, 745.624, 13.59}, {16.036, 0.58, 1.77311, 846.994, 718.092, 13.41}} 

nlm = NonlinearModelFit[data, a + c*b + d*bminv + e*M + f*bminv*M + g*x + h*x^2 + i*y + j*y^2, {a, c, d, e, f, g, h, i, j}, {b, bminv, M, x, y}] ; 

nlm[Sequence @@ Most[#]] & /@ data - data[[All, -1]] 

(* {-1.77636*10^-15, 0., -3.55271*10^-15} *) 
+0

哇,我剛剛又在一個新的小區跑了我的功能,以及由於某種原因,它現在的工作。我花了一天的時間試圖修復它,而這只是一次隨機的僥倖。謝謝。 – 2012-07-10 15:32:48