image thumbnail

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)

233 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 (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
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!