Probability density function of the exponential distribution

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


stats::exponentialPDF(a, b)


stats::exponentialPDF(a, b) returns a procedure representing the probability density function

of the exponential distribution with real location parameter a and scale parameter b > 0.

The procedure f := stats::exponentialPDF(a, b) can be called in the form f(x) with an arithmetical expression x. The return value of f(x) is either a floating-point number or a symbolic expression:

If x < a can be decided, then f(x) returns 0. If xa can be decided, then f(x) returns the value .

If x is a floating-point number and both a and b can be converted to floating-point numbers, then these values are returned as floating-point numbers. Otherwise, symbolic expressions are returned.

The function f reacts to properties of identifiers set via assume. If x is a symbolic expression with the property x < a or xa, the corresponding values are returned.

f(x) returns the symbolic call stats::exponentialPDF(a, b)(x) if neither x < a nor xa can be decided.

Numerical values for a and b are only accepted if they are real and b is positive.

Environment Interactions

The function is sensitive to the environment variable DIGITS which determines the numerical working precision.


Example 1

We evaluate the probability density function with a = 0 and b = 1 at various points:

f := stats::exponentialPDF(0, 1):
f(-infinity), f(-PI), f(1/2), f(0.5), f(PI), f(infinity)

delete f:

Example 2

If a or x are symbolic objects without properties, then it cannot be decided whether xa holds. A symbolic function call is returned:

f := stats::exponentialPDF(a, b): f(x)

With suitable properties, it can be decided whether xa holds. An explicit expression is returned:

assume(a <= x): f(x)

Note that assume(a <= x) attached properties both to a and x. When cleaning up, the properties have to be removed separately for a and x via unassume:

unassume(a): unassume(x): delete f:

Example 3

We use symbolic arguments:

f := stats::exponentialPDF(a, b): f(x)

When numerical values are assigned to a and b, the function f starts to produce numerical values:

a := 0: b := 2: f(3), f(3.0)

delete f, a, b:



The location parameter: an arithmetical expression representing a real value


The scale parameter: an arithmetical expression representing a positive real value

Return Values