I wanted to write
s=w:/sqrt(pi()):*(*funct)(x)
^^^
ben
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Jann Ben
> Sent: Thursday, August 25, 2005 8:56 PM
> To: [email protected]
> Subject: st: RE: [Mata] passing a function to mata
>
>
> Antoine, to pass a function, you have to type "&"
> followed by the function's name followed by "()".
> First of all, in your program change
>
> s=w:/sqrt(pi()):*(funct)
>
> to
>
> s=w:/sqrt(pi()):*(funct)(x)
>
> then define
>
> function squareofx(x) return(x:^2)
>
> and then type
>
> gaussher(12 , &squareofx())
>
> See -help m2_ftof-.
>
> ben
>
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of
> > Antoine Terracol
> > Sent: Thursday, August 25, 2005 5:33 PM
> > To: [email protected]
> > Subject: st: [Mata] passing a function to mata
> >
> >
> > Dear _all
> >
> > I'm trying to write mata code to evaluate integrals
> |f(x)g(x) (where
> > g(x)is the standard normal pdf) by Gauss-Hermite quadrature
> > (I know this
> > has been done before in Stata, but I'm trying to learn mata, so I
> > thought I might give it a try).
> >
> > I was able to code for the nodes and weight vectors, but I
> > can't figure
> > out how to tell mata which fuction f(x) I wish to evaluate.
> >
> > I want to be able to specify the f(x) function, say x^2,
> when calling
> > the mata program
> >
> > Here is a sketch of the code :
> >
> >
> > ___________________________________________
> > void gaussher(scalar node, funct){
> >
> > [compute nodes (x) and weight (w) vectors]
> >
> > x=x:*sqrt(2)
> > s=w:/sqrt(pi()):*(funct)
> >
> > [return stuff]
> > }
> > end
> > ____________________________________________
> >
> >
> >
> > If I type -gaussher(12 , x:^2)-
> >
> > mata complains that "x not found"
> >
> > but if I type -gaussher(12 , "x:^2")-
> >
> > mata complains that "nonnumeric found where numeric required"
> >
> >
> > Could anyone point me to the correct way of passing such
> > arguments to a
> > mata program ?
> >
> > Best,
> > Antoine
> >
>
> *
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/