On Mon, May 17, 2010 at 08:43:20AM +0100, Gary wrote: > I haven't rerun the script as it takes some time to complete, but I > have attached the raw data from which I generated the spreadsheet.
The last parameter is computed to be 0, which violates the lower bound of 1e-30. Constraints (and bounds) are accounted for by leasqr with a "projection algorithm" --- if a constraint is active and remains active over the next step, the next parameters are computed to be at the "border" of the constraint (e.g. exactly at the bound). This computation was remarkably accurate in my own tests, but I think one has to live with some inaccuracy. I'd guess that such inaccuracy is the reason for the above violation. The lower bound should be just increased to a "reasonable" value where small violations can be tolerated. I'm not sure at the moment how parameter scale affects this problem, but would guess that one should either increase the lower bound according to the scale of the respective parameter, or scale the parameters (by applying a factor to them in the model function) so that their order of magnitude gets similar. Further notes: The initial parameters 14, 15, and 16 are outside the lower bound; leasqr will initially set them to the lower bound with a warning (and then start optimization). You have set niter = 2, which makes it pretty hopeless to achieve convergence. Accordingly, kvg == 0 had been returned, which means that no convergance had been achieved. Totally unrelated hint: It makes life easier if the response to a mail is typed _below_ the text you respond to (avoid "top posting"). Don't take me wrong for criticizing that :-) , it's better to keep to this practice. Olaf ------------------------------------------------------------------------------ _______________________________________________ Octave-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/octave-dev
