我正在尝试在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对象的函数,但它们都不起作用。
如果有人对输出意味着什么,如何解决它,或者如果我只是对我的函数调用或数据做错了,我会非常感激。
感谢。
答案 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} *)