7

私はMath.Netライブラリに非常に慣れていないため、指数関数に基づいて曲線を当てはめようとすると問題が発生します。より具体的には、この関数を使用するつもりです:

f(x) = a*exp(b*x) + c*exp(d*x)

次の図に示すように、MATLAB を使用すると、かなり良い結果が得られます。

何とか

MATLAB は次のパラメーターを計算します。

f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
a =   29.6       ( 29.49     , 29.71)
b =    0.000408  (  0.0003838,  0.0004322)
c =   -6.634     ( -6.747    , -6.521)
d =   -0.03818   ( -0.03968  , -0.03667)

Math.Net を使用してこれらの結果を達成することは可能ですか?

4

3 に答える 3

2

Math.net を見ると、Math.net はさまざまな種類の回帰を行っているように見えますが、関数にはある種の反復法が必要です。たとえば、Gauss-Newton の方法では、各反復で線形回帰を使用して (過剰決定された) 線形方程式系を解きますが、これには、方法を作成する際の「手動」作業が依然として必要です。

于 2015-04-23T21:16:58.253 に答える
1

答えは:まだだと思います。基本的にパッケージ全体の貢献がありcsmpfitますが、まだMath.Netに統合されていません。別のライブラリとして使用し、完全に統合した後、Math.Net に移動できます。リンクhttp://csmpfit.codeplex.com

于 2015-04-23T21:31:30.980 に答える