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

これはうまくいくはずだと思いますが、本当に奇妙な出力が得られます。

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

このモデルの数値は正しいかもしれませんが、<< 9 >>の部分がわかりません。さらに、NonlinearModelFitが常に返すFittedModel関数がどのように3乗されるかがわかりません。

出力の奇妙さの他に、それは使用できない出力でもあります。私は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 に答える