假设 n = N(0,1)
是正态分布 . 在MATLAB中,当使用 randn(1,1)
函数时,将从 n
中提取样本 .
但是,我有一个不同的目标:我想从上半部分(或下半部分)中取样,即从左尾部到平均部分(或从平均到右尾部分)的一半 .
这样做的一种虚拟方式是:
while sample > mean
sample from gaussian
end
但是,由于我必须在我的代码中提取大量样本,因此不会理解此解决方案 . 是否有更智能的方法来提取这些样本,而不涉及循环?
1 回答
鉴于你的高斯在零附近是对称的,你可以使用
请注意,这只适用于高斯平均值为零的情况 .
对于具有任意方式的高斯,您可以使用: