生成区间 [5;50] 中至少 1000 个随机数的对数正态分布值的散点图,该散点图源自区间 [0;1] 上的均匀分布。
到目前为止我已经这样做了
%declaring intervals
a=5;b=50;
%creating 1000 random number within the interval [5,50]
r = a + (b-a).*rand(1000,1);
我无法理解这部分“源自区间 [0;1] 上的均匀分布。 ”
生成区间 [5;50] 中至少 1000 个随机数的对数正态分布值的散点图,该散点图源自区间 [0;1] 上的均匀分布。
到目前为止我已经这样做了
%declaring intervals
a=5;b=50;
%creating 1000 random number within the interval [5,50]
r = a + (b-a).*rand(1000,1);
我无法理解这部分“源自区间 [0;1] 上的均匀分布。 ”
rand
给你一个介于0
和之间的伪随机数1
。从这个区间中选择任何特定数字的概率对于区间中的任何其他数字都是相同的,因此使用的概率密度函数rand
称为“均匀分布”。
所以,你开始很好:)
我认为这意味着您应该将想要作为输出的数字范围映射到区间 [0,1] 中。也就是说,你将区间划分为 46 个等间距的子区间,使得每个区间的交集为空,它们的并集为 [0,1]。然后对于每个子区间,您将输出样本范围的值关联起来,然后 [0,1] 中的样本允许您从集合 [5:50] 中创建随机样本
例如,如果您想从 [1:10] 创建样本,您可以选择从 [0,1] 上的均匀分布生成样本。如果样本在区间 [0,0.1) 你的输出样本值为 1。如果它在区间 [0.2,0.3) 你的值将是 3 等等。
如果您要问什么是均匀分布,它只是样本空间中每个点被选择的概率相等的分布。有关详细信息,请参阅此http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29