Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Lognormal random numbers

`R = lognrnd(mu,sigma)`

R = lognrnd(mu,sigma,m,n,...)

R
= lognrnd(mu,sigma,[m,n,...])

`R = lognrnd(mu,sigma)`

returns
an array of random numbers generated from the lognormal distribution
with parameters `mu`

and `sigma`

. `mu`

and `sigma`

are
the mean and standard deviation, respectively, of the associated normal
distribution. `mu`

and `sigma`

can
be vectors, matrices, or multidimensional arrays that have the same
size, which is also the size of `R`

. A scalar input
for `mu`

or `sigma`

is expanded
to a constant array with the same dimensions as the other input.

`R = lognrnd(mu,sigma,m,n,...)`

or ```
R
= lognrnd(mu,sigma,[m,n,...])
```

generates an `m`

-by-`n`

-by-...
array. The `mu`

, `sigma`

parameters
can each be scalars or arrays of the same size as `R`

.

The normal and lognormal distributions are closely related.
If *X* is distributed lognormally with parameters *µ* and *σ*,
then log(*X*) is distributed normally with mean *µ* and
standard deviation *σ*.

The mean *m* and variance *v* of
a lognormal random variable are functions of *µ* and *σ* that
can be calculated with the `lognstat`

function.
They are:

$$\begin{array}{l}m=\mathrm{exp}\left(\mu +{\sigma}^{2}/2\right)\\ v=\mathrm{exp}\left(2\mu +{\sigma}^{2}\right)\left(\mathrm{exp}\left({\sigma}^{2}\right)-1\right)\end{array}$$

A lognormal distribution with mean *m* and
variance *v* has parameters

$$\begin{array}{l}\mu =\mathrm{log}\left({m}^{2}/\sqrt{v+{m}^{2}}\right)\\ \sigma =\sqrt{\mathrm{log}\left(v/{m}^{2}+1\right)}\end{array}$$

Generate one million lognormally distributed random numbers with mean 1 and variance 2:

m = 1; v = 2; mu = log((m^2)/sqrt(v+m^2)); sigma = sqrt(log(v/(m^2)+1)); [M,V]= lognstat(mu,sigma) M = 1 V = 2.0000 X = lognrnd(mu,sigma,1,1e6); MX = mean(X) MX = 0.9974 VX = var(X) VX = 1.9776

[1] Evans, M., N. Hastings, and B. Peacock. *Statistical
Distributions*. Hoboken, NJ: Wiley-Interscience, 2000.
pp. 102–105.

Was this topic helpful?