generate random numbers according to pdf or cdf

Version 1.0.2 (1.68 KB) by halleyhit
generate random numbers according to a user defined probability density function (pdf) or cumulative distribution function (cdf)
325 Downloads
Updated 15 Aug 2018

View License

Coded by halleyhit on Aug. 15th, 2018
Email: halleyhit@sjtu.edu.cn or halleyhit@163.com

Syntax
y = randdf(S,D,F)
S - Size of dimension, integer values.
Example: S=10 creates a 10-by-1 array
Example: S=[10,2] creates a 10-by-2 matrix

D - Density function, numeric matrix
Pdf or cdf is described by a matrix, whose size is N-by-2.
Sampling points of pdf or cdf form the second row.
Function value of pdf or cdf form the first row.

F - Flag, 'pdf' or 'cdf'

Example:
x=[-1:0.01:1];% Sampling points
y=2*(x<0).*(x>-0.1)+4*(x<0.5).*(x>0.3);% Function value of pdf
plot(x,y,'black')
r=randdf([10000],[y;x],'pdf'); % generate random numbers
hold on
h=histogram(r);
h.Normalization='pdf';
h.BinWidth=0.01;
h.EdgeColor='none'; % view the pdf of the generated numbers

Cite As

halleyhit (2026). generate random numbers according to pdf or cdf (https://ch.mathworks.com/matlabcentral/fileexchange/68492-generate-random-numbers-according-to-pdf-or-cdf), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags
Version Published Release Notes
1.0.2

update screenshot

1.0.1

Update summary

1.0.0