Re: Problem to evaluate a function inside a function

*To*: mathgroup at smc.vnet.net*Subject*: [mg64188] Re: [mg64156] Problem to evaluate a function inside a function*From*: Darren Glosemeyer <darreng at wolfram.com>*Date*: Sat, 4 Feb 2006 04:13:43 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

It is tough to say for certain without seeing the actual example. One possibility is that chi2 may also need ?NumericQ checks on its arguments. Another possibility is that both definitions of ePhip existed at the same time. If the ?NumericQ checks were added to ePhip without clearing the definition of ePhip that did not have ?NumericQ checks, the version without the ?NumericQ checks would still get evaluated first. Darren Glosemeyer Wolfram Research At 07:09 PM 2/2/2006 -0500, =?GB2312?Q?St=A8=A6phane_Fay?= wrote: >Dear everyone, > >I have defined a function chi2[¦¸m_, ¦Í_, ¦£_, data_] and when I compute >chi2[0.27, -0.1, 0.1, data], it works well and I find 183.987. Now I >try to find the minimum of this function by writting > >FindMinimum[chi2[¦¸m, ¦Í, ¦£, data], {{¦¸m, 0.25, 0.30}, {¦Í, -0.1, 0.2}, >{¦£, 0.1, 0.2}}] > >and get the error message > >NDSolve::ndnum: Encountered non-numerical value for a derivative at z == 0.`. > >Apparently the problem is the folowwing: > >Inside my function chi2[¦¸m_, ¦Í_, ¦£_, data_] I have another function >ePhip[¦¸mp_, ¦Íp_, ¦£p_] that I try to compute with ePhi = ePhip[¦¸m, ¦Í, >¦£] but Mathematica do not evaluate ¦¸m, ¦Í and ¦£ in ePhip and thus get a >non numerical value. > >I tried to solve the problem by using Evaluate or writing >ePhip[¦¸mp_?NumericQ, ¦Íp_?NumericQ, ¦£p_?NumericQ] but nothing works. > >Does anybody has a solution? > >Thank you very much for your help > >Yours sincerely > > St¨¦phane