【发布时间】:2015-12-20 14:12:52
【问题描述】:
我有以下 4 个矩阵:
w = [[w1, w2, w3, w4], [w5, w6, w7, w8], ...]
x = [[x1, x2, x3, x4], [x5, x6, x7, x8], ...]
y = [[y1, y2, y3, x4], [y5, y6, y7, y8], ...]
z = [[z1, z2, z3, x4], [z5, z6, z7, z8], ...]
这些是 (n,m) 的形状。我想对每个矩阵的相应元素应用一个标量函数 f,这样得到的矩阵 res 也是 n x m,并且 res 的第 i、j 个元素是 func([[w[i,j], x[i,j]], [[y[i,j], z[i,j]]) 的结果
显然我可以尝试循环遍历每个元素,但是是否有一个矢量化/numpy 实现呢?
【问题讨论】:
-
嗯。也许将
w、x、y和z合并到一些N x M x 4矩阵中并应用numpy.ix... 现在太累了,无法提出确切的细节。虽然它可能很慢...需要考虑。 -
对于完全通用的 f(w,x,y,z) 我认为没有比 for 循环更有效的方法。你能提供一些关于 f 做什么的细节吗?