如果我有一个高斯中心为[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个高斯)
答案 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)