我想做类似的事情

x[i, :, :] = (rhs[i, :, :]-diag[i] * x[i+1, :, :])/diag[i]


其中x和rhs是大小为(T,L,S)的3D numpy数组。 diag是大小为T的一维数组。

这将正确广播。

但是现在我想编写一个类似的函数来处理2D数组或其他一些维数。我该如何通用地编写它,以便它可以在具有第一维T的任何数组上工作。由于函数中包含许多此类行,因此我不想使用不同的冒号来复制代码。

最佳答案

x[i] = (rhs[i] - diag[i] * x[i+1])/diag[i]


这些冒号完全没有必要。

关于python - 您可以通用地编写numpy切片吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40091727/

10-12 23:27