在MATLAB中定义自己的概率密度函数

cur*_*rer 5 matlab octave

是否可以在MATLAB或Octave中定义自己的概率密度函数并用它来生成随机数?

MATLAB和Octave有默认函数,比如rand,randn内置从统一或正态分布中随机绘制点,但似乎没有关于如何定义我自己的proability密度函数的文档.

Mem*_*ing 8

从任意随机分布中抽样并不总是微不足道的.对于众所周知的发行版,有一些技巧可以实现它们,其中大部分都是在统计工具箱中实现的,正如Oli所说.

如果您感兴趣的分布形式很困难,那么有许多可能对您有帮助的采样算法,例如拒绝采样,切片采样,Metropolis-Hastings算法.

如果您的分布是离散的,或者可以通过相当好的离散分布来近似,那么您可以使用多项式采样randsamp.