来自多个高斯的采样点

时间:2018-11-27 10:56:11

标签: python numpy

如果我有一个高斯中心为[x,y]和std = z的高斯,则可以使用以下方法采样一个点:

Log.e("my_tag","this is my error log");
Log.d("my_tag","this is my debug log");
Log.v("my_tag","this is my verbos log");

但是,如果我给了两个高斯,它们的中心= [[x1,y1],[x2,y2]]和stds = [z1,z2],我如何从这些高斯中一起采样点(或n个高斯)

1 个答案:

答案 0 :(得分:0)

您可以循环播放

import numpy as np

x1 = 0.; y1=0.; z1 = 1.
x2 = 1.; y2=0.; z2 = 1.
centers=[[x1, y1], [x2, y2]] 
stds=[z1, z2]

np.random.seed(1)
smpl = []
for c, std in zip(centers, stds):
    smpl.append(np.random.normal(loc=c, scale=std))
print(smpl)

但是作为列表传递似乎也可以并且可能会更有效

np.random.seed(1)
smpl = np.random.normal(loc=centers, scale=std)
print(smpl)