首页 > 解决方案 > 在 MATLAB 中生成具有已知 PDF 表达式的随机变量

问题描述

我知道随机变量 r 的概率密度函数 (PDF) 表达式为 2r/R^2,其中 0<=r<=R。那么,它的 CDF 为 r^2/R^2。

有人可以帮助我按照上述分布在 MATLAB 中生成随机变量 r 吗?

标签: matlabrandomprobability-densityinverse-transform

解决方案


https://blogs.sas.com/content/iml/2013/07/22/the-inverse-cdf-method.html

我使用与他们相同的变量

f(x) = 2x/R^2

F(x) = x^2/R^2

求解方程 F(x) = u 中的 x

u*R^2 = x^2

x = sqrt(u * R^2) v -sqrt(u * R^2)

在 Matlab 中:

N=1E5;
R=1;
u = rand(1,N);
x = sqrt(u*R^2); 

histogram(x)

推荐阅读