randomLognormal¶
Generates pseudorandom numbers from a lognormal distribution.
Synopsis¶
randomLognormal (nRandom, mean, std)
Required Arguments¶
- int
nRandom
(Input) - Number of random numbers to generate.
- float
mean
(Input) - Mean of the underlying normal distribution.
- float
std
(Input) - Standard deviation of the underlying normal distribution.
Return Value¶
An array of length nRandom
containing the random deviates of a lognormal
distribution. The log of each element of the vector has a normal
distribution with mean mean
and standard deviation std
.
Description¶
Function randomLognormal
generates pseudorandom numbers from a lognormal
distribution with parameters mean
and std
. The scale parameter in
the underlying normal distribution, std
, must be positive. The method is
to generate normal deviates with mean mean
and standard deviation
std
and then to exponentiate the normal deviates.
With μ = mean
and σ = std
, the probability density function for the
lognormal distribution is
for \(x>0\). The mean and variance of the lognormal distribution are \(\exp(\mu+\sigma^2/2)\) and \(\exp(2\mu+2\sigma^2)-\exp(2\mu+\sigma^2)\), respectively.
Example¶
In this example, randomLognormal
is used to generate five pseudorandom
lognormal deviates with a mean of 0 and standard deviation of 1.
from numpy import *
from pyimsl.stat.randomLognormal import randomLognormal
from pyimsl.stat.randomSeedSet import randomSeedSet
from pyimsl.stat.writeMatrix import writeMatrix
n_random = 5
mean = 0.0
std = 1.0
randomSeedSet(123457)
r = randomLognormal(n_random, mean, std)
writeMatrix("Lognormal random deviates", r, noColLabels=True)
Output¶
Lognormal random deviates
7.780 2.954 1.086 3.588 0.293