how packages work
- To: mathgroup at smc.vnet.net
- Subject: [mg116664] how packages work
- From: "Ted Sariyski" <tsariysk at craft-tech.com>
- Date: Wed, 23 Feb 2011 05:24:23 -0500 (EST)
- References: <201102210920.EAA20640@smc.vnet.net>
Hi, I am confused how packages work. I have a simple function which I can plot and evaluate without any messages or warnings, e.g. # f[3000, lam1, lam2]/.{lam1-> 4.*10^-7, lam2->5.*10^-7} Out: -411.32 When I try FindRoot I get an obscure message followed by a correct result: # FindRoot[f[x, lam1, lam2] == 0, {x, 3000}] (*lam1=4.*10^-7; lam2=5.*10^-7*) Out: NIntegrate::inumr: The integrand 3.74177*10^-16/((-1+E^(<<21>>/(x z$36620))) z$36620^5) has evaluated to non-numerical values for all sampling points in the region with boundaries {{4.*10^-7,5.*10^-7}}. >> {x -> 4969.42} Function f is defined through two modules in myUtils` package: f[x_, lam1_, lam2_] := inbInt[x, lam1, lam2] - 420.; (*myUtils`*) inbInt[t_,l1_,l2_] := Module[ {z,bbint}, bbint = NIntegrate[pFun[t, z],{z,l1,l2}]; Return[bbint]; ]; pFun[t_, x_] := Module[ {bbint}, bbint = (3.74*10^-16/ x^5)/(Exp[0.014/(x*t)]-1); Return[bbint]; ]; How is that Plot doesn't complain for non-numerical values but FindRoot does? Thanks in advance, --Ted
- References:
- Re: DeveloperContextFreeForm and local symbols in packages (more)
- From: "E. Martin-Serrano" <eMartinSerrano@telefonica.net>
- Re: DeveloperContextFreeForm and local symbols in packages (more)