## generate random numbers according to pdf or cdf

version 1.0.2 (1.68 KB) by
generate random numbers according to a user defined probability density function (pdf) or cumulative distribution function (cdf)

Updated 15 Aug 2018

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(,[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 (2022). generate random numbers according to pdf or cdf (https://www.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