在Python中是否有与MATLAB函数bsxfun等效的东西?

Kev*_*vin 21 c python matlab bsxfun

我试图将我的一些代码从matlab移植到python,其中一些使用bsxfun()函数进行虚拟复制,然后进行乘法或除法(我也将它用于逻辑运算).我希望能够在没有实际复制矢量(使用函数或使用某种对角矩阵)之前执行此操作,然后再进行乘法或除法以节省内存和时间.

如果某个C库中存在等效的bsxfun,那当然也可以.

cap*_*let 5

正如其他人提到的那样,虽然 numpy 确实为您处理了很多广播,但我知道实际上并没有与 bsxfun 等效的东西。

这通常被吹捧为 numpy 相对于 matlab 的一个优势,确实很多广播在 numpy 中更简单,但 bsxfun 实际上更通用,因为它可以采用用户定义的函数。

Numpy 有这个:http : //docs.scipy.org/doc/numpy/reference/generated/numpy.apply_along_axis.html 但仅适用于 1d。