help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] once more fitting


From: Petr Ent
Subject: [Help-gsl] once more fitting
Date: Wed, 01 Nov 2006 16:49:10 +0100 (CET)

hi everyone,
I have one more question about nonlinear least squares fitting, I will use the 
example from GSL online manual. I copied it to my program and just changed the 
equation to 

y = Ai(1-exp(-t/ti)) + Ap(1-exp(-t/tp))
with parameters Ai, Ap, ti, tp

I set correct partial derivations too, there is no problem with this.

if I let it be this way, everything works ok (I try few thousand iterations), 
each one converges to parameters I used to generate my data. But when I add 
some random noise to the source data, lets say only 1 percent of the value 
(values are from 400 to 600), solver cannot find solution (10 cases from 1000 
tries) even when I give him nearly desired values as a starting guess. I traced 
the fitting proces and I have found that it is due its first iteration steps, 
when solver from near-ok initial guess makes some nonsense (parameter is set to 
400 when generating equation, guess is 390 and after first iteration it is 
1.xxE10). From this point, solver never returns to "way that converges to 400".

I tried both solvers which use derivations
gsl_multifit_fdfsolver_lmsder
gsl_multifit_fdfsolver_lmder
but they both produce same results. 

Is there any way to influence the iteration progress? Some borders for solver 
which cannot be passed? Or is it possible to choose some non-derivative solver 
(I have not found any type of gsl_multifit_fsolver) and will it be better?  I 
will appreciate any idea....

best regards
Petr Ent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]