Я продолжаю получать сообщение об ошибке w = 0 in Givens();
, когда пытаюсь использовать gnuplot
встроенную функцию подгонки кривой.
Что я делаю, так это пытаюсь подогнать экспериментальные данные к определенной математической модели в gnuplot
. Я определяю функцию модели s(x)
:
gnuplot> z(x)=(x-mu)/be
gnuplot> s(x)=(k/be)*exp(-z(x)-exp(-z(x)))
Затем я рисую фактические данные и функцию модели, чтобы получить начальное предположение о параметрах модели:
Затем я корректирую первоначальную догадку:
gnuplot> k=2.6; mu=-8.8;
gnuplot> replot
Чтобы получить довольно хорошее изображение:
Затем я пытаюсь точно подогнать кривую:
gnuplot> fit s(x) '701_707_TRACtdetq.log30.hist1.txt' u 2:6 via k,be,mu
И я получаю единственную итерацию и сообщение об ошибке:
Iteration 0
WSSR : 3.85695 delta(WSSR)/WSSR : 0
delta(WSSR) : 0 limit for stopping : 1e-05
lambda : 0.223951
initial set of free parameter values
k = 2.6
be = 1
mu = -8.8
/
Iteration 1
WSSR : 0.0720502 delta(WSSR)/WSSR : -52.5315
delta(WSSR) : -3.7849 limit for stopping : 1e-05
lambda : 0.0223951
resultant parameter values
k = 2.03996
be = 0.777868
mu = -8.87082
w = 0 in Givens(); Cjj = 3.37383e-196, Cij = 2.54469e-192
И кривая довольно подходит:
Что означает эта ошибка и как мне запустить процесс подгонки?
be
далеко от установленного значения, скажем, 1000? Та же ошибка в этом сообщении блога, но нет информации: dany-nash.blogspot.fr/2013/02/. - person Pascail   schedule 07.05.2013C
дает нули (или очень маленькие значения) в качестве дельт для следующей итерации. В моем случае есть крошечный выступ примерно наx=-13
, который не позволяет норме сходимости достичь предела сходимости. - person mbaitoff   schedule 09.05.2013