Mathematica NonlinearModelFit奇怪的输出

时间:2012-07-10 14:21:14

标签: wolfram-mathematica

我正在尝试在mathematica中为项目的某些数据运行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}];

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

FittedModel [38592.8 + 0.811612b + LT;&LT 9 - ;> + 3.06099 * 10 ^ -7 * Y ^ 2] ^ 3

该模型的数字也许是正确的,但我不明白以&lt零件;< 9>>和更使我不明白的FittedModel功能,这是NonlinearModelFit始终返回,是怎么立方

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

如果有人对输出意味着什么,如何解决它,或者如果我只是对我的函数调用或数据做错了,我会非常感激。

感谢。

1 个答案:

答案 0 :(得分: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} *)