vmrand(fMu, fKappa, varargin)

版本 1.3.0.0 (4.8 KB) 作者: Dylan Muir
Draw random numbers from the Von Mises distribution
1.8K 次下载
更新时间 2017/8/16

查看许可证

This function uses an envelope-rejection method based on a wrapped Cauchy distribution to draw random variates from an arbitrary Von Mises distribution, first proposed in [1].
'fMu' and 'fKappa' are the mean and variance parameter of the Von Mises distribution over [-pi, pi). 'tVMVariates' will be a tensor containing random variates drawn from the defined distribution. If 'fMu' and 'fKappa' are non-scalar, then they must be the same size. In this case 'tVMVariates' will be the same size. If 'fMu' and 'fKappa' are scalar, then the number of variates returned can be specified as extra arguments.

Example:
vmrand(linspace(-pi, pi, 20), 2); % - Return variates for several distributions, with changing 'fMu'
vmrand(0, 2, [100 1]); % - Return 100 variates (size [100 1]) for the VM distribution with 'fMu' = 0 and 'fKappa' = 2
If only single dimension 'M' is provided, then the return argument 'tfVMVariates' will be M x M.

This implementation is vectorised, and requires O(7.5*N) space.

References:
[1] D. J. Best and N. I. Fisher, 1979. "Efficient Simulation of the von Mises Distribution", Journal of the Royal Statistical Society. Series C (Applied Statistics), Vol. 28, No. 2, pp. 152-157.

引用格式

Dylan Muir (2024). vmrand(fMu, fKappa, varargin) (https://www.mathworks.com/matlabcentral/fileexchange/37241-vmrand-fmu-fkappa-varargin), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2010b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.3.0.0

Updated description
Updated description
Updated usage
Updated description
Updated description
Updated description

1.2.0.0

Fixed a bug when no variates were accepted

1.1.0.0

Fixed bugs, where providing non-scalar parameters would sometimes cause an error message.

1.0.0.0