# 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)
• x = icdf(pd,y) example

## 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, , equal to 0 and the standard deviation, , 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 and .

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, , 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 .

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.

 makedist Create a probability distribution object using specified parameter values. fitdist Fit a probability distribution object to sample data. dfittool Fit a probability distribution object to sample data using the interactive Distribution Fitting app. paretotails Create a Pareto tails object. gmdistribution Create 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.