Johnson system random numbers
r = johnsrnd(quantiles,m,n)
r = johnsrnd(quantiles)
[r,type] = johnsrnd(...)
[r,type,coefs] = johnsrnd(...)
r = johnsrnd(quantiles,m,n)
returns
an m
-by-n
matrix of random numbers
drawn from the distribution in the Johnson system that satisfies the
quantile specification given by quantiles
. quantiles
is
a four-element vector of quantiles for the desired distribution that
correspond to the standard normal quantiles [–1.5 –0.5
0.5 1.5]. In other words, you specify a distribution from which to
draw random values by designating quantiles that correspond to the
cumulative probabilities [0.067 0.309 0.691 0.933]. quantiles
may
also be a 2
-by-4
matrix whose
first row contains four standard normal quantiles, and whose second
row contains the corresponding quantiles of the desired distribution.
The standard normal quantiles must be spaced evenly.
Note:
Because |
r = johnsrnd(quantiles)
returns a scalar
value.
r = johnsrnd(quantiles,m,n,...)
or r
= johnsrnd(quantiles,[m,n,...])
returns an m
-by-n
-by-...
array.
[r,type] = johnsrnd(...)
returns the type
of the specified distribution within the Johnson system. type
is 'SN'
, 'SL'
, 'SB'
,
or 'SU'
. Set m
and n
to
zero to identify the distribution type without generating any random
values.
The four distribution types in the Johnson system correspond to the following transformations of a normal random variate:
'SN'
— Identity transformation
(normal distribution)
'SL'
— Exponential transformation
(lognormal
distribution)
'SB'
— Logistic transformation
(bounded)
'SU'
— Hyperbolic sine transformation
(unbounded)
[r,type,coefs] = johnsrnd(...)
returns
coefficients coefs
of the transformation that defines
the distribution. coefs
is [gamma, eta,
epsilon, lambda]
. If z
is a standard
normal random variable and h
is one of the transformations
defined above, r = lambda*h((z-gamma)/eta)+epsilon
is
a random variate from the distribution type corresponding to h
.