Re: MPFITFUN .TIED [message #94688 is a reply to message #94684] |
Mon, 21 August 2017 03:18   |
Markus Schmassmann
Messages: 129 Registered: April 2016
|
Senior Member |
|
|
On 08/18/2017 02:47 PM, tackmeister@gmail.com wrote:
> I'm having some issues using fitting constraints using the MPFITFUN
> package in IDL.
>
> Basically, I have several parameters that I'm fitting, some of which
> are constrained to a single parameter (P[0]) as a factor of that
> parameter. As such, I set parinfo[*].tied so that, after printing,
> they read as follows: '0.662104 * P[0]' '0.245035 * P[0]' ...
>
> After fitting I read out the parameters, and even though P[0] has an
> appropriate value, it appears the constrained parameters have
> obtained the values (in this case) 0.66210400 0.24503500 (and P[0] is
> not 1., it is somewhere around 475 for my case) As such, the
> constraint does not seem to work for me. It just seems to return the
> factor with which I wanted to multiply P[0], but does not actually
> multiply it.
>
> Does anyone have an idea how to resolve this, or why it does not seem
> to work? Am I somehow using the wrong syntax for the .TIED keyword
> etc.? Any help is welcome. Many thanks!
I haven't used MPFITFUN before, but from reading the code and your
problem description I have a few guesses what could have gone wrong.
Any chance you have the TIED assigned to the wrong parameters?
e.g. parinfo[0].tied='0.662104 * P[0]'
Any chance you use in the TIED definition a parameter with a higher number?
e.g. parinfo[1].tied='0.245035 * P[2]'
Any chance that the result is correct except for the tied parameters?
If you use the other parameters to calculate the tied ones and then use
the forward function are you at a minimum?
You might have to get the derivatives (numerical or analytical) to verify.
If none of that helps, write here a complete minimal working example of
the problem. Hopefully Craig has time to look into it.
Good Luck, Markus
|
|
|