Interquartile range of probability distribution
Compute the Normal Distribution Interquartile Range
Create a standard normal distribution object with the mean, , equal to 0 and the standard deviation, , equal to 1.
pd = makedist('Normal','mu',0,'sigma',1);
Compute the interquartile range of the standard normal distribution.
r = iqr(pd)
r = 1.3490
The returned value is the difference between the 75th and the 25th percentile values for the distribution. This is equivalent to computing the difference between the inverse cumulative distribution function (icdf) values at the probabilities y equal to 0.75 and 0.25.
r2 = icdf(pd,0.75) - icdf(pd,0.25)
r2 = 1.3490
Interquartile Range 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 interquartile range of the fitted distribution.
r = iqr(pd)
r = 11.7634
The returned result indicates that the difference between the 75th and 25th percentile of the students’ grades is 11.7634.
icdf to determine the 75th and 25th percentiles of the students’ grades.
y = icdf(pd,[0.25,0.75])
y = 1×2 69.1266 80.8900
Calculate the difference between the 75th and 25th percentiles. This yields the same result as
ans = 11.7634
boxplot to visualize the interquartile range.
The top line of the box shows the 75th percentile, and the bottom line shows the 25th percentile. The center line shows the median, which is the 50th percentile.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
The input argument
pdcan be a fitted probability distribution object for beta, exponential, extreme value, lognormal, normal, and Weibull distributions. Create
pdby fitting a probability distribution to sample data from the
fitdistfunction. For an example, see Code Generation for Probability Distribution Objects.
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).