【发布时间】:2014-02-25 13:14:08
【问题描述】:
如下面的代码所示,我目前正在从Normal Distribution 生成random 数字,并选择-3*sigma 和3*sigma 区间内的数字。但是,我现在想生成数字,以便我从-3*sigma 和3*sigma 区间之外选择数字的可能性更高。例如。来自[-4*sigma -3*sigma) 的数字应该具有35% 被选中的概率,并且与[3*sigma 4*sigma) 相同。 基本上,我会多次调用这个函数,我想知道是否有一种方法可以让我从正态分布的“尾部”中选择更高比例的随机数,而不会实际改变正态分布的形状分发。我正在努力做到这一点。
function [new_E11, new_E22] = elasticmodulusrng()
new_E11 = normrnd(136e9,9.067e9,[1 1]);
new_E22 = normrnd(8.9e9,2.373e9,[1 1]);
while new_E11<=-3*9.067e9 && new_E11>=3*9.067e9
new_E11 = normrnd(136e9,9.067e9,[1 1]);
end
while new_E11<=-3*2.373e9 && new_E11>=3*2.373e9
new_E22 = normrnd(8.9e9,2.373e9,[1 1]);
end
谢谢
【问题讨论】:
-
但在这种情况下,它将不再是正态分布。你想如何改变它的形状?
-
我基本上想为
new_E11生成正态分布,例如,使用平均值 136e9 和 S.D. 9.067e9 然后我想从区间 [-4*sigma -3*sigma) 和 [3*sigma 4*sigma) 中选择点,每个点的概率为 35%。这可能吗? -
这些点出现的概率是由分布的形状决定的,比那个小很多。
-
@Jojo 不可能使用 normal 分布来做到这一点。您必须选择不同类型的分发来实现此目的。也许通过调整偏度或峰度,但更有可能通过选择完全不同的分布。