Numpy: найти минимум выражения по нескольким параметрам - PullRequest
0 голосов
/ 10 сентября 2018

Есть ли простой способ получить минимум выражения по многим параметрам без явных циклов?

#Randomly initialize samples
SAMPLES_NUM = 200
L = np.random.rand(SAMPLES_NUM)
q1 = np.random.rand(SAMPLES_NUM)
q2 = np.random.rand(SAMPLES_NUM)

#Make the data
X = np.arange(0,1,0.01)
Y = np.arange(0,1,0.01)
X,Y = np.meshgrid(X,Y)

#Calculate Z at (x,y) as the minimum of L[i]+x(q1[i]+q2[i]) + q2[i]y
#over all  i

Я пытался вещать:

Z = np.min(L + X*(q1+q2) +Y*q2)

Но не работает из-за проблем с вещанием. Любые идеи, или я должен был бы зациклить все я?

1 Ответ

0 голосов
/ 10 сентября 2018

Используя версии meshgrid, мы могли бы увеличить dims на X, Y и получить broadcasting, когда эти операции выполняются с другими входами и, наконец, используя min вдоль последней оси -

np.min(L + X[...,None]*(q1+q2) + Y[...,None]*q2,axis=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...