Точки отбора проб у нескольких гауссиан - PullRequest
0 голосов
/ 27 ноября 2018

Если у меня есть один гауссиан с центром = [x, y] и std = z, я могу выбрать одну точку, используя:

np.random.normal(loc=[x, y], scale=std)

Но если мне дано два гауссиана с центрами = [[x1, y1], [x2, y2]] и stds = [z1, z2], как я могу выбрать точки из этих гауссианов вместе (или для n гауссианов)

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете просто зациклить,

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...