Интеграция 2D-данных с nans с использованием numpy trapz - PullRequest
0 голосов
/ 05 мая 2020

У меня есть 2D-матрица U данных, которая выглядит примерно так:

0   0.5   0.1   0.3 
0   nan   0.4   0.1
nan nan   0.2   nan

Индекс строк соответствует точкам данных оси высоты zz = [0, 2, 10], а столбцы являются точками данных горизонтальной оси yy = [0, 3, 7, 9] (не фиксированные интервалы). Я хочу интегрировать эту матрицу U по осям zz и yy. Для этого я подумал об использовании numpy trapz следующим образом:

Uy = np.zeros(len(yy))

for y in range(len(yy)):
        U_step = U[:,y][~np.isnan(U[:,y])]
        x = zz[0:len(U_step)]
        Uy[y] = np.trapz(U_step, x=x)

I = np.trapz(Uy, x=yy)

Однако результат, который я получаю, не похож на тот, который я ожидал (значение слишком низкое), поэтому мне интересно если что-то не так с моей интеграцией, или, может быть, мне стоит использовать другие функции?

...