Re: FindRoot
- To: mathgroup at smc.vnet.net
- Subject: [mg131647] Re: FindRoot
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Sun, 15 Sep 2013 07:08:47 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <l11bf5$iss$1@smc.vnet.net>
Am Samstag, 14. September 2013 11:49:25 UTC+2 schrieb bruce.c... at gmail.com:
> Re 9.0.1 under Windows 7.
>
>
>
> The code below is extracted from another source.
>
>
>
> Part I below returns 289 even though n is never given a value. Why does the module return a value and in particular, what does 289 mean?
>
>
>
> Part II doesn't return a value (as expected). I don't see why Part I returns a value but not Part II.
>
>
>
> Thanks.
>
>
>
> Bruce
>
>
>
>
>
> In[1]:=
>
> (* Part I *)
>
> f[n_,p1_,p2_]:=Sqrt[2n](ArcSin@Sqrt[p1-1/(2n)]-ArcSin@Sqrt[p2+1/(2n)]);
>
>
>
> myModule1[\[Alpha]_,\[Beta]_]:=Module[{A=ConstantArray["",{9,9}],n,powerEST,p1=0.2,p2=0.1},
>
> If[
>
> p1>p2,
>
> powerEST=SurvivalFunction[NormalDistribution[f[n,0.2,0.1],1],Quantile[NormalDistribution[],1-\[Alpha]]];
>
>
>
> A[[IntegerPart[10(p1-0.1)],IntegerPart[10p2]]]=Ceiling[n/.FindRoot[powerEST-(1-\[Beta]),{n,40}]]
>
> ]
>
> ];
>
>
>
> myModule1[0.05,0.05]
>
> Out[3]= 289
>
> In[4]:=
>
> (* Part II *)
>
> myModule2[\[Alpha]_,\[Beta]_]:=Module[{A=ConstantArray["",{9,9}],n},
>
> SurvivalFunction[NormalDistribution[f[n,0.2,0.1],1],Quantile[NormalDistribution[],1-\[Alpha]]]
>
> ];
>
>
>
> myModule2[0.05,0.05]
>
> Out[5]= 1/2 Erfc[(1.64485 -Sqrt[2] Sqrt[n$272] (ArcSin[Sqrt[0.2 -1/(2 n$272)]]-ArcSin[Sqrt[0.1 +1/(2 n$272)]]))/Sqrt[2]]
In part 1 n is in fact assigned a value, viz. the initial values 40 in FindRoot.
Having found the root close to 289 Returns this value from the module.
Best regards,
Wolfgang