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