0

我正在尝试在数学中对项目的某些数据运行 NonlinearModelFit。这是一个相当复杂的模型,有 9 个系数和 5 个自变量。我以模型需要的方式创建了数据,并且我认为我正确地调用了该函数。以下是数据示例:

{{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}];

我认为这应该可行,但我得到了一个非常奇怪的输出:

拟合模型[38592.8+0.811612b+<<9>>+3.06099*10^-7*y^2]^3

这个模型的数字可能是正确的,但我不理解带有 <<9>> 的部分,甚至更不理解 FittedModel 函数(即 NonlinearModelFit 总是返回的函数)是如何立方的。

除了输出的怪异之外,它也是一个不可用的输出,我尝试了应该与 FittedModel 对象一起使用的函数,但它们都不起作用。

如果有人对输出的含义、如何修复它有一些建议,或者如果我只是对我的函数调用或数据做错了什么,我将不胜感激。

谢谢。

4

1 回答 1

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} *) 
于 2012-07-10T14:37:44.597 回答