>
> >
> > It turns out that I have the following  x
> >
> > x=a + b * ln ( 2*(U*(F(upper)-F(low)) + F(low))); for x <a
> >
> > x=a - b *  ln ( 2*(1-U*(F(upper)-F(low)) - F(low))); for x >= a
>

I should be clearer about this. I think F(upper) can take two values for the
case of x< a and x>=a  (similarly for F(low)) so I should have write

 x=a + b * ln ( 2*(U*(F(upper1)-F(low1)) + F(low1))); for x <a

 x=a - b *  ln ( 2*(1-U*(F(upper2)-F(low2)) - F(low2))); for x >= a



For your suggestion, if I understand you correcly,  if I want to use a more
restricted range as suggested then
x=a + b * ln ( 2*(U) ); for x <a
x=a - b *  ln ( 2*(1-U)); for x >= a

where U ~ U(low_bound, Up_bound)

and low_bound=1/2 Exp[-A/b] where A is the lower truncation limit you desire
for the
Laplace distribution and pick the Up_bound=1 - 1/2Exp[B/b] where B is the
upper truncation limit.

Please let me know whether I got it right or not. Thank you so much.

Regards,
Su





>
> I don't see something obviously wrong but I think your algorithm can be
> substantially simplified. Instead of generating an uniform deviate over
> (0,1) how about using a more restricted range. Pick the lower bound to be
>
> 1/2 Exp[-A/b] where A is the lower truncation limit you desire for the
> Laplace distribution and pick the upper bound to be
>
> 1 - 1/2Exp[B/b] where B is the upper truncation limit.
>
> the return x = F[U] where U is the uniform deviate selected between the
> two limits above
>

.
.
=================================================================
Instructions for joining and leaving this list, remarks about the
problem of INAPPROPRIATE MESSAGES, and archives are available at:
.                  http://jse.stat.ncsu.edu/                    .
=================================================================

Reply via email to