1

我想知道是否有可能生成一个随机分布,它是某个参数的函数。换句话说,使用 MATLAB I 类型,rand(1,5)我在 0 和 1 之间有 5 个数字的均匀随机分布。有可能将此结果作为某个参数的函数吗?你知道这方面的任何算法吗?我只需要在一个区间内不需要二维表示。

4

1 回答 1

3

我想你想这样做:
http ://en.wikipedia.org/wiki/Inverse_transform_sampling

在 MATLAB 中,这非常简单,您只需指定函数即可。

n = 10000;         % number of random draws
r = rand(n, 1);    % generate uniform random numbers

f = @norminv;      % specify transforming function
tr = f(r);         % transformed numbers, now normally distributed
hist(tr, 30)       % plot histogram

这个例子有点做作,因为我们可以简单地使用randn. 但该方法普遍成立。
如果您有统计工具箱,并且想要从流行的分布之一中进行采样,请查看可用的随机数生成器,链接

于 2013-06-07T07:20:21.143 回答