NumPy:在4D​​阵列上选择最小值的2D索引

时间:2015-06-22 16:33:05

标签: python arrays numpy

我有一个函数f(x,y,v,w)我已经在(x,y,v,w)中的一系列值上进行了评估并存储在4D NumPy数组中,我们称之为A.

我想找到一种方法来找到两个二维数组,V_best和W_best,它们保存v,w的值,使x,y上的f(x,y,v,w)最小化。我通过尝试检索(v,w)值的索引来解决这个问题,这些索引给出了A(x,y)的最小值。

我已经尝试过使用argmin,但是我无法理解我得到的3D数组,或者在这种情况下如何使用它们。和许多事情一样,我确信有一种明显的方法可以做到这一点。

我拥有的是,

x = np.linspace(0,1,N1)
y = np.linspace(0,1,N2)
v = np.linspace(-5,5,N3)
w = np.linspace(-5,5,N4)
V,W,X,Y = np.meshgrid(v,w,x,y)
VALUEGRID = myfunc(V,W,X,Y)
V_besti = np.argmin(VALUEGRID,axis=0)
W_besti = np.argmin(VALUEGRID,axis=1)

理想情况下,V_best和W_best将具有形状(N1,N2),对应于x,y范围的尺寸。我希望这很清楚。

提前谢谢。

0 个答案:

没有答案