Generate random number between 0 and 1 with (negative)exponential distribution

maxammann

Heyho,

I'm trying to generate a random number between 0.0 and 1.0 with exponential/negative exponential distribution. There is an article, which tells that you have to get the "quantile function". But the results are still greater than 1.0. So I would need to scale my equation somehow.

My goal is to generate a random number in a range, where for example higher/lower values have a higher probability. (The distribution should be scalable)

Related questions(don't truncate the result to [0,1]):

pjs

The negative exponential distribution has support on the range [0, ∞), so I'm interpreting your question as a request for a truncated negative exponential. The Cumulative Distribution Function for such a beast with lower limit l >= 0, upper limit h > l, and rate λ is

F(x) = (exp(-λl) - exp(-λx)) / (exp(-λl) - exp(-λh))

We can find the inversion by setting this equal to U, a uniform(0,1) random number, and solving for x:

X = -ln(exp(-λl) - (exp(-λl) - exp(-λh)) * U) / λ

Since you specified lower and upper limits of 0 and 1, respectively, this reduces to

X = -ln(1 - (1 - exp(-λ)) * U) / λ

Replace U with a call to your favorite U(0,1) generator and that's your algorithm for generating X's with the desired distribution.

Here's a histogram of 10,000 values generated with λ = 5. Smaller values of λ give a flatter distribution, larger values show a more rapid exponential drop off.

10,000 truncated exponentials with lambda = 5

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Generate random number between 0 and 1

From Dev

Generate random number between 0 and 1

From Dev

Generate float Random number between [0,1] and restricting decimal

From Dev

How to generate a random number between 1 and a million?

From Dev

How to generate a random number between 1 and a million?

From Dev

Generate a random number between 1 and 999

From Dev

How to generate random number between 0 and 1 in genetic algorithm toolbox, Deap

From Dev

How to generate random number between 0 and 1 using a sha256 hash

From Dev

Generate random float number between [0,1], not fixed step but step must be larger than 0.05 in Python?

From Java

Random number between 0 and 1 in python

From Dev

creating a random number between 0 to 1 continuously

From Dev

Javascript random number between 0 and 1

From Dev

Javascript random number between 0 and 1

From Dev

Generate random number between 1 and 3 / including 1 decimal place

From Dev

Generate random number belonging to exponential distribution

From Dev

generate random float number ranging [0,1] in c

From Dev

c++ How to generate random number between 1 and 10^6?

From Dev

How to generate random numbers between 0 and 1 in bash

From Dev

Random Number Gen between 0 & 1 [C++]

From Dev

Box muller random number between 0 and 1 in c++

From Dev

generate random 0 or 1 - Oracle

From Dev

how to use std::generate_canonical to generate random number in range [0,1)?

From Dev

Generate random numbers with uniform distribution (getting same number in loop)

From Dev

Generate random numbers with uniform distribution (getting same number in loop)

From Dev

Generate X/0 pattern with random number (no hardcode)

From Dev

How to generate a random number with fixed length only with 0's and 1's and a fixed amount of 1's?

From Java

Generate random number between two numbers in JavaScript

From Dev

generate random number between 2 variables jquery

From Dev

Generate a random number with a seed between a range in ruby

Related Related

  1. 1

    Generate random number between 0 and 1

  2. 2

    Generate random number between 0 and 1

  3. 3

    Generate float Random number between [0,1] and restricting decimal

  4. 4

    How to generate a random number between 1 and a million?

  5. 5

    How to generate a random number between 1 and a million?

  6. 6

    Generate a random number between 1 and 999

  7. 7

    How to generate random number between 0 and 1 in genetic algorithm toolbox, Deap

  8. 8

    How to generate random number between 0 and 1 using a sha256 hash

  9. 9

    Generate random float number between [0,1], not fixed step but step must be larger than 0.05 in Python?

  10. 10

    Random number between 0 and 1 in python

  11. 11

    creating a random number between 0 to 1 continuously

  12. 12

    Javascript random number between 0 and 1

  13. 13

    Javascript random number between 0 and 1

  14. 14

    Generate random number between 1 and 3 / including 1 decimal place

  15. 15

    Generate random number belonging to exponential distribution

  16. 16

    generate random float number ranging [0,1] in c

  17. 17

    c++ How to generate random number between 1 and 10^6?

  18. 18

    How to generate random numbers between 0 and 1 in bash

  19. 19

    Random Number Gen between 0 & 1 [C++]

  20. 20

    Box muller random number between 0 and 1 in c++

  21. 21

    generate random 0 or 1 - Oracle

  22. 22

    how to use std::generate_canonical to generate random number in range [0,1)?

  23. 23

    Generate random numbers with uniform distribution (getting same number in loop)

  24. 24

    Generate random numbers with uniform distribution (getting same number in loop)

  25. 25

    Generate X/0 pattern with random number (no hardcode)

  26. 26

    How to generate a random number with fixed length only with 0's and 1's and a fixed amount of 1's?

  27. 27

    Generate random number between two numbers in JavaScript

  28. 28

    generate random number between 2 variables jquery

  29. 29

    Generate a random number with a seed between a range in ruby

HotTag

Archive