numpy:在多个参数中查找表达式的最小值

时间:2018-09-10 09:23:34

标签: python numpy numpy-broadcasting

有没有一种简单的方法来获取多个参数的最小表达式而没有显式循环?

#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 :(得分:1)

使用meshgrid版本,我们可以扩展XY的暗淡效果,当使用其他输入并最终使用{ {1}}沿最后一个轴-

broadcasting