在 MATLAB 中生成具有已知 PDF 表达式的随机变量

Generate random variable with known PDF expression in MATLAB

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

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

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)