Gnuplot примерка - PullRequest
       21

Gnuplot примерка

0 голосов
/ 20 марта 2019

Я хочу соответствовать следующим данным:

70  0.0429065
100 0.041212
150 0.040117
200 0.035018
250 0.024366
300 0.02017
350 0.018255
400 0.015368

к следующей функции, которая является комбинацией экспоненциальной и гауссовой функций:

$ f (x) = a1 * (a2 * exp (-x / T2e) + exp (- (x / T2g) ** 2))

$ fit f (x) 'data' через a1, a2, T2e, T2g

Но он продолжает давать мне следующие результаты:

a1              = 0.0720021        +/- 0.04453      (61.84%)
a2              = 0.310022         +/- 0.9041       (291.6%)
T2e             = 63291.7          +/- 2.029e+07    (3.206e+04%)
T2g             = 252.79           +/- 32.36        (12.8%)

Когда я пытаюсь установить его отдельно

$ g (x) = b * exp (- (x / T2g) ** 2)

$ fit g (x) «данные» через b, T2g

Я получаю

b               = 0.0451053        +/- 0.001598     (3.542%)
T2g             = 359.359          +/- 16.89        (4.701%)

и

$ S (x) = S0 * exp (-x / T2e)

$ fit S (x) 'data' через S0, T2e

дает:

S0              = 0.057199         +/- 0.003954     (6.913%)
T2e              = 319.257          +/- 38.17        (11.96%)

Я уже пытался установить начальные значения, но это не изменило результаты.

Кто-нибудь знает, что не так? Спасибо,

1 Ответ

0 голосов
/ 20 марта 2019

Хорошо, вы можете увидеть экспоненциальный спад с горбом, который может быть гауссовым. Подход, как я подошел: сначала исключите точки данных 100 и 150 и подгоните экспоненту, а затем установите гауссиан приблизительно на 170. Вы, вероятно, не подойдете, потому что по крайней мере пик Гаусса смещен на некоторое значение x1.

С кодом:

 ### fitting 
reset session

$Data <<EOD
70  0.0429065
100 0.041212
150 0.040117
200 0.035018
250 0.024366
300 0.02017
350 0.018255
400 0.015368
EOD

a = 0.055
T2e = 310

b = 0.008
x1 = 170
T2g = 54

Exponential(x) = a*exp(-x/T2e)
Gaussian(x) = b*exp(-((x-x1)/T2g)**2)

f(x) = Exponential(x) + Gaussian(x)
fit f(x) $Data u 1:2 via a,b,x1,T2e,T2g

plot $Data u 1:2 w lp pt 7, f(x) lc rgb "red"
### end of code

Вы получите:

a               = 0.0535048        +/- 0.00183      (3.42%)
b               = 0.00833589       +/- 0.001006     (12.06%)
x1              = 170.356          +/- 5.664        (3.325%)
T2e             = 315.114          +/- 12.94        (4.106%)
T2g             = 54.823           +/- 12.13        (22.12%)

enter image description here

...