1

Matlabでガウス近似曲線から標準偏差を取得するにはどうすればよいですか?

関数の出力ではありませんfit

コード:

[fy, god] = fit(xx, yy, 'gauss2');

出力:

>> fy

fy = 

     General model Gauss2:
     fy(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
     Coefficients (with 95% confidence bounds):
       a1 =    -0.09287  (-0.09414, -0.0916)
       b1 =        3805  (3805, 3806)
       c1 =        20.9  (19.8, 22.01)
       a2 =     -0.3454  (-0.3497, -0.3411)
       b2 =        3862  (3861, 3862)
       c2 =       19.32  (18.82, 19.82)
>> god

god = 

           sse: 2.7037e-04
       rsquare: 0.9995
           dfe: 55
    adjrsquare: 0.9994
          rmse: 0.0022
4

1 に答える 1

3

の出力はfy、2 つのガウス関数の線形結合で構成されるモデルを当てはめていることを示しています。モデルの関数形式は次のとおりです。

fy(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)

ガウスは次のように定義されていることを思い出してください。

f(x) = exp(-(x-x0)^2/(2*s^2))      where: x0 is the mean, s is the std.dev.

次に、モデル内の各ガウス分布の標準偏差を (それぞれ) 次のように計算できます。

s1 = c1/sqrt(2)
s2 = c2/sqrt(2)

詳細については、 http://en.wikipedia.org/wiki/Gaussian_functionを参照してください。

于 2013-07-03T01:48:43.477 に答える