Я пытаюсь реализовать алгоритм решения, который будет использовать одно уравнение, если элемент массива отрицательный, и другой, если он положительный. Вот мой код для попытки различить два случая:
Xn = X.copy()
X[X[2:-2, 2:-2]>=0] = #algorithm A, calls several upstream values from Xn
X[X[2:-2, 2:-2]<0] = #algorithm B, calls several downstream values from Xn
Я хочу присвоить значения только X [2: -2, 2: -2]. Форма X - (21,21), а X [2: -2,2: -2] - (17,17). Я получаю эту ошибку с приведенным выше кодом:
IndexError: логический индекс не соответствует индексированному массиву по измерению 0; размерность 21, но соответствующее логическое измерение - 17
Как я могу сделать это без итерации по каждому элементу?