Re: Recognising parameters in function
- To: mathgroup at smc.vnet.net
- Subject: [mg94552] Re: Recognising parameters in function
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Tue, 16 Dec 2008 02:33:56 -0500 (EST)
On 12/15/08 at 7:47 AM, Stuart.Nettleton at uts.edu.au (Stuart Nettleton) wrote: >Hi, would someone be able to suggest why FindMinimum will recognise >parameters in the following function but the backsubstitution will >not. Thanks for any help, Stuart >Clear[f, vars1, z]; >vars1 = {x, y}; >z = (x - 5)^2 + (y - 3)^2; >f[vars_] := Module[{a}, >a = z/2; >Return[a] >] /; VectorQ[vars, NumericQ]; >optim = FindMinimum[Join[{f[vars1]}, Thread[vars1 >= 0]], vars1] >optim[[2]] >f[vars1] /. optim[[2]] Did you look at the result you get when you type f[vars1] ? Notice this returns f[x,y] since you have defined f only for numeric inputs. If you redefine f as: f[vars_] := Module[{a}, a = z/2; Return[a] ] /; VectorQ[vars] Things will work as you expected. Note, since FindMinimum is intended to work with symbols, there is no need to restrict the values to numeric input.
- Follow-Ups:
- Re: Re: Recognising parameters in function
- From: "Stuart Nettleton" <Stuart.Nettleton@uts.edu.au>
- Re: Re: Recognising parameters in function