Re: Problem with NMaximize
- To: mathgroup at smc.vnet.net
- Subject: [mg68857] Re: Problem with NMaximize
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Mon, 21 Aug 2006 03:28:25 -0400 (EDT)
- References: <ec97qm$4dt$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
you have to prevent symbolic evaluation with
bigfunc[x_?NumericQ,y_?NumericQ,z_?NumericQ] :=
Module[{vars here}, large function here; Print[y]];
Regards
Jens
Lee Newman wrote:
> Dear Group,
>
> I have function that I want to maximize. The function calls many other
> functions, and I have verified that on its own, it works as intended.
> However, when I include the function in an NMaximize statement, I get
> errors. After including Print statements within the function (and the
> functions that calls), it seems the problem is that the variable being
> passed to the function by NMaximize is being treated as a undefined
> symbol, rather than as the value currently being passed by NMaximize.
>
> NMaximize[ {bigFunc[a,b,c]}, {{a,0,1},{b,0,2},{c,0,3}},
> Method->"NelderMead"];
>
> bigfunc[x_,y_,z_] := Module[{vars here}, large function here; Print[y]];
>
> When called directly bigfunc[1,2,3], the print statement prints 2, the
> correct value for argument y.
> When called within NMaximize (as above), the print statement returns b,
> the symbolic value passed by NMaximize, and all the errors generated are
> related to the fact that b is being treated as a undefined symbol rather
> than a numeric value.
>
> What am I doing wrong?
>
> - Lee
>
> ____________________________________________________
> L E E N E W M A N www.leenewman.org
> d o c t o r a l s t u d e n t
> c o g n i t i v e p s y c h o l o g y
> c o m p u t e r s c i e n c e
> u . m i c h i g a n
> a n n a r b o r
> ____________________________________________________
>
> Skylarks singing-
> the farmer
> makes a pillow of his hoe.
>
> ISSA
>