MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to express the results in normal cdf instead of erf()

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97126] Re: How to express the results in normal cdf instead of erf()
  • From: dh <dh at metrohm.com>
  • Date: Fri, 6 Mar 2009 04:22:54 -0500 (EST)
  • References: <goo7jt$sga$1@smc.vnet.net>


Hi Irving,

you have:

r = Integrate[PDF[NormalDistribution[0, 1], x] Exp[x], x]

what gives:

1/2 Sqrt[E] Erf[(-1 + x)/Sqrt[2]]

you also know:

Erf[x] == 2*CDF[NormalDistribution[0, 1], x *Sqrt[2]] - 1

therefore, we can theoretically replace Erf[..] by CDF[..]. But there is 

a pitfall, as soon as mathematica sees: CDF[..] it translates it into 

the Erf-Form. We must therefore prevent this by wrapping it into Hold or 

HoldForm. If you only want to look at it, HoldForm may be more 

appropriate. To let other calculations proceed, we wrap only the 

innermost part:

r /. Erf[x_] -> 2*CDF[HoldForm[NormalDistribution[0, 1]], x*Sqrt[2]] - 1

this produces:

1/2 Sqrt[E] (-1+2 CDF[NormalDistribution[0,1],-1+x])

hope this helps, Daniel



Irving Zhu wrote:

> Hi All,

> 

> I am working on some integrals involving the Normal Distribution, and would

> like the end results to be expressed in normal density as opposed to the

> Erf[] function.

> 

> For example, the default result of the following:

> 

> Integrate[PDF[NormalDistribution[0, 1], x] Exp[x], x] will result in an

> expression in Erf[].

> 

> I'd like it to be in terms of CDF[NormalDistribution[]] instead.

> 

> Of course the two functions are related:

> 

> CDF[NormalDistribution[0,1],x] ==1/2*(1+Erf[[x/Sqrt[2]])

> 

> 

> Is there any way to do that?

> 

> Thanks,

> Irving.

> 

> 




  • Prev by Date: Re: MakeBoxes on v7.0
  • Next by Date: Re: MatrixRank[m, Modulus -> 5] is broken
  • Previous by thread: How to express the results in normal cdf instead of erf()
  • Next by thread: Re: How to express the results in normal cdf instead of erf()