Documentation

icdf

Inverse cumulative distribution functions

Syntax

  • x = icdf('name',y,A) example
  • x = icdf('name',y,A,B) example
  • x = icdf('name',y,A,B,C)

Description

example

x = icdf('name',y,A) returns the inverse cumulative distribution function (icdf) for the one-parameter distribution family specified by 'name', evaluated at the probability values in y. A contains the parameter value for the distribution.

example

x = icdf('name',y,A,B) returns the icdf for the two-parameter distribution family specified by 'name', evaluated at the probability values in y. A and B contain the parameter values for the distribution.

x = icdf('name',y,A,B,C) returns the icdf for the three-parameter distribution family specified by 'name', evaluated at the probability values in y. A, B, and C contain the parameter values for the distribution.

example

x = icdf(pd,y) returns the inverse cumulative distribution function of the probability distribution object, pd, evaluated at the probability values in y.

Examples

collapse all

Compute the Normal Distribution icdf

Create a standard normal distribution object with the mean, $\mu$, equal to 0 and the standard deviation, $\sigma$, equal to 1.

mu = 0;
sigma = 1;
pd = makedist('Normal',mu,sigma);

Define the input vector y to contain the probability values at which to calculate the icdf.

y = [0.1,0.25,0.5,0.75,0.9];

Compute the icdf values for the standard normal distribution at the values in y.

x = icdf(pd,y)
x =

   -1.2816   -0.6745         0    0.6745    1.2816

Each value in x corresponds to a value in the input vector y. For example, at the value y equal to 0.9, the corresponding icdf value x is equal to 1.2816.

Alternatively, you can compute the same icdf values without creating a probability distribution object. Use the icdf function and specify a standard normal distribution using the same parameter values for $\mu$ and $\sigma$.

x2 = icdf('Normal',y,mu,sigma)
x2 =

   -1.2816   -0.6745         0    0.6745    1.2816

The icdf values are the same as those computed using the probability distribution object.

Compute the Poisson Distribution icdf

Create a Poisson distribution object with the rate parameter, $\lambda$, equal to 2.

lambda = 2;
pd = makedist('Poisson',lambda);

Define the input vector y to contain the probability values at which to calculate the icdf.

y = [0.1,0.25,0.5,0.75,0.9];

Compute the icdf values for the Poisson distribution at the values in y.

x = icdf(pd,y)
x =

     0     1     2     3     4

Each value in x corresponds to a value in the input vector y. For example, at the value y equal to 0.9, the corresponding icdf value x is equal to 4.

Alternatively, you can compute the same icdf values without creating a probability distribution object. Use the icdf function and specify a Poisson distribution using the same value for the rate parameter $\lambda$.

x2 = icdf('Poisson',y,lambda)
x2 =

     0     1     2     3     4

The icdf values are the same as those computed using the probability distribution object.

Input Arguments

collapse all

'name' — Probability distribution nameprobability distribution name string

Probability distribution name, specified as one of the following probability distribution name strings.

nameDistributionInput Parameter AInput Parameter BInput Parameter C
'Beta'Beta Distributiona: first shape parameterb: second shape parameter
'Binomial'Binomial Distributionn: number of trialsp: probability of success for each trial
'BirnbaumSaunders'Birnbaum-Saunders Distributionβ: scale parameterγ: shape parameter
'Burr'Burr Type XII Distributionα: scale parameterc: first shape parameterk: second shape parameter
'Chisquare'Chi-Square Distributionν: degrees of freedom
'Exponential'Exponential Distributionμ: mean
'Extreme Value'Extreme Value Distributionμ: location parameterσ: scale parameter
'F'F Distributionν1: numerator degrees of freedomν2: denominator degrees of freedom
'Gamma'Gamma Distributiona: shape parameterb: scale parameter
'Generalized Extreme Value'Generalized Extreme Value Distributionk: shape parameterσ: scale parameterμ: location parameter
'Generalized Pareto'Generalized Pareto Distributionk: tail index (shape) parameterσ: scale parameterμ: threshold (location) parameter
'Geometric'Geometric Distributionp: probability parameter
'Hypergeometric'Hypergeometric Distributionm: size of the populationk: number of items with the desired characteristic in the populationn: number of samples drawn
'InverseGaussian'Inverse Gaussian Distributionμ: scale parameterλ: shape parameter
'Logistic'Logistic Distributionμ: meanσ: scale parameter
'LogLogistic'Loglogistic Distributionμ: log meanσ: log scale parameter
'Lognormal'Lognormal Distributionμ: log meanσ: log standard deviation
'Nakagami'Nakagami Distributionμ: shape parameterω: scale parameter
'Negative Binomial'Negative Binomial Distributionr: number of successesp: probability of success in a single trial
'Noncentral F'Noncentral F Distributionν1: numerator degrees of freedomν2: denominator degrees of freedomδ: noncentrality parameter
'Noncentral t'Noncentral t Distributionν: degrees of freedomδ: noncentrality parameter
'Noncentral Chi-square'Noncentral Chi-Square Distributionν: degrees of freedomδ: noncentrality parameter
'Normal'Normal Distributionμ: mean σ: standard deviation
'Poisson'Poisson Distributionλ: mean
'Rayleigh'Rayleigh Distributionb: scale parameter
'Rician'Rician Distributions: noncentrality parameterσ: scale parameter
'T'Student's t Distributionν: degrees of freedom
'tLocationScale't Location-Scale Distributionμ: location parameterσ: scale parameterν: shape parameter
'Uniform'Uniform Distribution (Continuous)a: lower endpoint (minimum)b: upper endpoint (maximum)
'Discrete Uniform'Uniform Distribution (Discrete)n: maximum observable value
'Weibull'Weibull Distributiona: scale parameterb: shape parameter

y — Probability values at which to evaluate icdfscalar value | array of scalar values

Probability values at which to evaluate the icdf, specified as a scalar value, or an array of scalar values.

  • If y is a scalar value, and if you specify distribution parameters A, B, or C as arrays, then cdf expands it into a constant matrix the same size as A and B.

  • If y is an array, and if you specify distribution parameters A, B, or C as arrays, then y, A, B, and C must all be the same size.

Example: [0.1,0.25,0.5,0.75,0.9]

Data Types: single | double

A — First probability distribution parameterscalar value | array of scalar values

First probability distribution parameter, specified as a scalar value, or an array of scalar values.

If x and A are arrays, they must be the same size. If x is a scalar, then cdf expands it into a constant matrix the same size as A. If A is a scalar, then cdf expands it into a constant matrix the same size as x.

Data Types: single | double

B — Second probability distribution parameterscalar value | array of scalar values

Second probability distribution parameter, specified as a scalar value, or an array of scalar values.

If x, A, and B are arrays, they must be the same size. If x is a scalar, then cdf expands it into a constant matrix the same size as A and B. If A or B are scalars, then cdf expands them into constant matrices the same size as x

Data Types: single | double

C — Third probability distribution parameterscalar value | array of scalar values

Third probability distribution parameter, specified as a scalar value, or an array of scalar values.

If x, A, B, and C are arrays, they must be the same size. If x is a scalar, then cdf expands it into a constant matrix the same size as A, B, and C. If any of A, B or C are scalars, then cdf expands them into constant matrices the same size as x.

Data Types: single | double

pd — Probability distributionprobability distribution object

Probability distribution, specified as a probability distribution object created using one of the following.

makedistCreate a probability distribution object using specified parameter values.
fitdistFit a probability distribution object to sample data.
dfittoolFit a probability distribution object to sample data using the interactive Distribution Fitting app.
paretotailsCreate a Pareto tails object.
gmdistributionCreate a Gaussian mixture distribution object.

Output Arguments

collapse all

x — Inverse cumulative distribution functionarray

Inverse cumulative distribution function of the specified probability distribution, returned as an array.

  • If you specify distribution parameters A, B, orC, then x is the common size of y, A, B, and C after any necessary scalar expansion.

  • If you specify a probability distribution object, pd, then x has the same dimensions as y.

See Also

| | |

Was this topic helpful?