Documentation Center

  • Trial Software
  • Product Updates

median

Class: prob.TruncatableDistribution
Package: prob

Median of probability distribution object

Syntax

m = median(pd)

Description

m = median(pd) returns the median m for the probability distribution pd.

Input Arguments

expand all

pd — Probability distributionprobability distribution object

Probability distribution, specified as a probability distribution object. Create a probability distribution object with specified parameter values using makedist. Alternatively, for fittable distributions, create a probability distribution object by fitting it to data using fitdist or the Distribution Fitting app.

Output Arguments

expand all

m — Medianscalar value

Median of the probability distribution, returned as a scalar value. The value of m is the 50th percentile of the probability distribution.

Examples

expand all

Median of a Fitted Distribution

Load the sample data. Create a vector containing the first column of students' exam grade data.

load examgrades;
x = grades(:,1);

Create a normal distribution object by fitting it to the data.

pd = fitdist(x,'Normal')
pd = 

  NormalDistribution

  Normal distribution
       mu = 75.0083   [73.4321, 76.5846]
    sigma =  8.7202   [7.7391, 9.98843]

Compute the median of the fitted distribution.

m = median(pd)
m =

   75.0083

For a symmetrical distribution such as the normal distribution, the median will be equal to the mean, mu.

Median of a Skewed Distribution

Create a Weibull probability distribution object.

pd = makedist('Weibull','a',5,'b',2)
pd = 

  WeibullDistribution

  Weibull distribution
    A = 5
    B = 2

Compute the median of the distribution.

m = median(pd)
m =
    4.1628

For a skewed distribution such as the Weibull distribution, the median and the mean may not be equal.

Calculate the mean of the Weibull distribution and compare it to the median.

mean = mean(pd)
mean =
    4.4311

The mean of the distribution is greater than the median.

Plot the pdf to visualize the distribution.

x = [0:.1:15];
pdf = pdf(pd,x);
plot(x,pdf)

See Also

| | | |

Was this topic helpful?