Re: Not accepting function as parameter
- To: mathgroup at smc.vnet.net
- Subject: [mg71716] Re: Not accepting function as parameter
- From: "dimitris" <dimmechan at yahoo.com>
- Date: Mon, 27 Nov 2006 04:04:40 -0500 (EST)
- References: <ekbmj4$f87$1@smc.vnet.net>
Head Function??? As far as I know there is not such a head. Maybe something like the following is more appropriate: Quit First here is a list of the Built-in symbols in Mathematica that have the the Attribute NumericFunction lst = ToExpression[Select[Names["System`*"], MemberQ[Attributes[#1], NumericFunction] & ]] {Abs, AiryAi, AiryAiPrime, AiryBi, AiryBiPrime, ArcCos, ArcCosh, ArcCot, ArcCoth, ArcCsc, ArcCsch, ArcSec, ArcSech, ArcSin, ArcSinh, ArcTan, ArcTanh, Arg, ArithmeticGeometricMean, BesselI, BesselJ, BesselK, BesselY, Beta, BetaRegularized, Binomial, Ceiling, ChebyshevT, ChebyshevU, Clip, Conjugate, Cos, Cosh, Cot, Coth, Csc, Csch, Divide, EllipticE, EllipticF, EllipticK, EllipticPi, Erf, Erfc, Erfi, Exp, ExpIntegralE, ExpIntegralEi, Factorial, Factorial2, Fibonacci, Floor, FractionalPart, Gamma, GammaRegularized, GegenbauerC, HermiteH, Hypergeometric0F1, Hypergeometric0F1Regularized, Hypergeometric1F1, Hypergeometric1F1Regularized, Hypergeometric2F1, Hypergeometric2F1Regularized, HypergeometricU, Im, IntegerPart, JacobiP, JacobiZeta, LaguerreL, LerchPhi, Log, LogGamma, LogIntegral, MathieuC, MathieuCharacteristicA, MathieuCharacteristicB, MathieuCharacteristicExponent, MathieuCPrime, MathieuS, MathieuSPrime, Max, Min, Minus, Mod, Multinomial, Plus, Pochhammer, PolyLog, Power, Quotient, Re, Rescale, RiemannSiegelTheta, RiemannSiegelZ, Round, Sec, Sech, Sign, Sin, Sinh, SphericalHarmonicY, Sqrt, Subtract, Tan, Tanh, Times, UnitStep, Zeta} (Head & ) /@ lst {Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol} Here is an example of function which if the given symbol is an element of the list lst. g[f_] := f[3] /; MemberQ[lst, f] g[Sin] Sin[3] g[a] g[a] g[Re] 3 g[{Sin}] g[{Sin}] So for your function I would suggest the following definition happy[f_, a_Integer, b_Integer] := Module[{width = (b - a)/1000}, f[width] /; MemberQ[lst, f]] happy[Sin, 1, 21] N[%] happy[Tan, 10, 30] N[%] Sin[1/50] 0.01999866669333308 Tan[1/50] 0.020002667093402423 Best Regards Dimitris wooks wrote: > This is a piece of experimental code. The function happy does not > evaluate whenever I pass f as a parameter as in the example below. > > Clear[happy] > happy[ f_Function, a_Integer, b_Integer] := Module[{width = (b - > a)/1000}, > f[width]]; > > happy[ Sin, 1, 21] > > I'd be grateful for help.
- Follow-Ups:
- Re: Re: Not accepting function as parameter
- From: János <janos.lobb@yale.edu>
- Re: Re: Not accepting function as parameter