truncate
Truncate probability distribution object
Description
Examples
Truncate a Probability Distribution
Create a standard normal probability distribution object.
pd = makedist('Normal')
pd = NormalDistribution Normal distribution mu = 0 sigma = 1
Truncate the distribution to have a lower limit of -2 and an upper limit of 2.
t = truncate(pd,-2,2)
t = NormalDistribution Normal distribution mu = 0 sigma = 1 Truncated to the interval [-2, 2]
Plot the pdf of the original and truncated distributions for a visual comparison.
x = linspace(-3,3,1000); figure plot(x,pdf(pd,x)) hold on plot(x,pdf(t,x),'LineStyle','--') legend('Normal','Truncated') hold off
Generate Random Numbers from a Truncated Distribution
Create a standard normal probability distribution object.
pd = makedist('Normal')
pd = NormalDistribution Normal distribution mu = 0 sigma = 1
Truncate the distribution by restricting it to positive values. Set the lower limit to 0 and the upper limit to infinity.
t = truncate(pd,0,inf)
t = NormalDistribution Normal distribution mu = 0 sigma = 1 Truncated to the interval [0, Inf]
Generate random numbers from the truncated distribution and visualize with a histogram.
r = random(t,10000,1); histogram(r,100)
Input Arguments
pd
— Probability distribution
probability distribution object
Probability distribution, specified as one of the probability distribution objects in the following table.
Distribution Object | Function or App Used to Create Probability Distribution Object |
---|---|
BetaDistribution | makedist , fitdist , Distribution Fitter |
BinomialDistribution | makedist , fitdist ,
Distribution Fitter |
BirnbaumSaundersDistribution | makedist , fitdist ,
Distribution Fitter |
BurrDistribution | makedist , fitdist ,
Distribution Fitter |
ExponentialDistribution | makedist , fitdist ,
Distribution Fitter |
ExtremeValueDistribution | makedist , fitdist ,
Distribution Fitter |
GammaDistribution | makedist , fitdist ,
Distribution Fitter |
GeneralizedExtremeValueDistribution | makedist , fitdist ,
Distribution Fitter |
GeneralizedParetoDistribution | makedist , fitdist ,
Distribution Fitter |
HalfNormalDistribution | makedist , fitdist ,
Distribution Fitter |
InverseGaussianDistribution | makedist , fitdist ,
Distribution Fitter |
KernelDistribution | fitdist , Distribution Fitter |
LogisticDistribution | makedist , fitdist ,
Distribution Fitter |
LoglogisticDistribution | makedist , fitdist ,
Distribution Fitter |
LognormalDistribution | makedist , fitdist ,
Distribution Fitter |
LoguniformDistribution | makedist |
MultinomialDistribution | makedist |
NakagamiDistribution | makedist , fitdist ,
Distribution Fitter |
NegativeBinomialDistribution | makedist , fitdist ,
Distribution Fitter |
NormalDistribution | makedist , fitdist ,
Distribution Fitter |
PiecewiseLinearDistribution | makedist |
PoissonDistribution | makedist , fitdist ,
Distribution Fitter |
RayleighDistribution | makedist , fitdist ,
Distribution Fitter |
RicianDistribution | makedist , fitdist ,
Distribution Fitter |
StableDistribution | makedist , fitdist ,
Distribution Fitter |
tLocationScaleDistribution | makedist , fitdist ,
Distribution Fitter |
TriangularDistribution | makedist |
UniformDistribution | makedist |
WeibullDistribution | makedist , fitdist ,
Distribution Fitter |
lower
— Lower truncation limit
scalar value
Lower truncation limit, specified as a scalar value.
Data Types: single
| double
upper
— Upper truncation limit
scalar value
Upper truncation limit, specified as a scalar value.
Data Types: single
| double
Output Arguments
t
— Truncated distribution
probability distribution object
Truncated distribution, returned as a probability distribution object. The
probability distribution function (pdf) of t
is 0
outside the truncation interval. Inside the truncation interval, the pdf of
t
is equal to the pdf of pd
,
but divided by the probability assigned to that interval by
pd
.
The object properties of t
are the same as those of
pd
with these exceptions:
The
Truncation
property oft
stores the truncation interval.The
IsTruncated
property oft
is 1.The
InputData
property oft
is empty. For a fitted distribution object, theInputData
property stores the data used for distribution fitting. The truncated distribution object does not store the input data.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
The input argument
pd
can be a fitted probability distribution object for beta, exponential, extreme value, lognormal, normal, and Weibull distributions. Createpd
by fitting a probability distribution to sample data from thefitdist
function. For an example, see Code Generation for Probability Distribution Objects.A truncated probability distribution object cannot be an input argument of an entry-point function. To evaluate a truncated distribution using object functions such as
cdf
,pdf
,mean
, and so on, calltruncate
and one or more of these object functions within a single entry-point function.
For more information on code generation, see Introduction to Code Generation and General Code Generation Workflow.
GPU Arrays
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).
Version History
Introduced in R2013a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)