Я хочу сделать что-то вродеМожете ли вы написать многократную нарезку?
x[i, :, :] = (rhs[i, :, :]-diag[i] * x[i+1, :, :])/diag[i]
где х и ок являются 3D Numpy массивами размера (T, L, S). diag - это 1D массив размера T.
Это будет правильно транслироваться.
Но теперь я хотел бы написать аналогичную функцию для работы с 2D-массивами или некоторым другим числом измерений. Как я могу написать это в общем случае, чтобы он работал на любом массиве, который имеет первое измерение размера T. Я не хочу дублировать код только с другим количеством двоеточий, поскольку в этой функции много таких строк ,
Вы хотите векторизовать параметр 'T'? То есть, это происходит в цикле 'for i in range (T)? – Eric
Вы имели в виду, что количество осей не гарантируется 3? Это может быть 1, 2, 3, ..., N? – Jeon