Я задал вопрос here о численном интегрировании на 2-й массив с фиксированной длиной. Теперь, если длина интегрирования не фиксирована? Для каждой ячейки в качестве отправной точки я хочу продолжать интеграцию, пока она не встретит ячейку со значением противоположного знака. Поэтому предположим, что в столбце снизу вверх это [1,2,5,4,-2,-3,2]
, если я сделаю интеграл для первого элемента, он будет интегрировать первые четыре элемента (все они положительные). Если я начну с пятого элемента, он просто интегрирует -2
и -3
. Есть ли способы его векторизации или ускорения вместо использования цикла double for, чтобы сначала найти длину интеграции для каждой ячейки, а затем сделать интеграл?Эффективный способ выполнения численного интегрирования на 2d-массиве с переменной длиной интегрирования
Или упрощена проблема просто интегрировать положительные элементы: пример:
data = [
-2, -1, 4, -2,-1;
1, 2, 3, 4, 5;
5, -4, -3, 2, 5;
3, -3, -9, 5, 7;
2, -2, 7, -5, 1;
2, 3, 1, -3, -3]
integrated_data = [
0, 0, 7, 0, 0;
13, 2, 3, 11, 18;
12, 0, 0 7, 13;
7, 0, 0, 5, 8;
4, 0, 8, 0, 1;
2, 3, 1, 0, 0]
добавьте пример, например, матрицы [5, 5] и ожидаемого выхода. – rahnema1
Вы спрашиваете о Matlab или NumPy? – FTP
Почему у вас есть 0 в левой верхней части встроенных_данных? Разве это не должно быть -2? – littleO