Julia中如何从截断于-1和1的正态分布中采样?
从截断在-1到1的正态分布中采样(Julia)
你不需要用if语句手动截断,Julia的Distributions包已经内置了截断正态分布的实现,直接使用TruncatedNormal类型即可:
using Distributions # 定义截断范围为[-1, 1]的标准正态分布(均值0,标准差1) truncated_dist = TruncatedNormal(0, 1, -1, 1) # 生成单个采样值 single_sample = rand(truncated_dist) # 生成多个采样值(示例:生成10个) multiple_samples = rand(truncated_dist, 10)
TruncatedNormal的参数顺序为:原正态分布的均值μ、标准差σ、截断下界、截断上界。用这个方式采样得到的数值会自动落在你指定的[-1,1]区间内,无需额外过滤。
内容的提问来源于stack exchange,提问作者arnle
相关产品推荐
相关产品推荐

