Как управлять двумерным преобразованием Фурье (БПФ) на трехмерном массиве с маскировкой?

У меня проблемы с выполнением двухмерных быстрых преобразований Фурье для трехмерного массива. Они имеют математическую природу и "понимание python / numpy" 'nature.

РЕДАКТИРОВАТЬ: Для пояснения основные вопросы: Как numpy.fft работает с замаскированными массивами? {{ 1}} Можно ли усреднить по оси, а затем выполнить fft и получить тот же результат, что и при выполнении fft с последующим усреднением по осям, которые не были задействованы в fft?

Массив состоит из значения потока углекислого газа ( в «единицах») между атмосферой и океаном для каждого градуса широты и долготы (в определенной области). Форма массива (730, 50, 182) соответствует (время, широта, долгота).Значения земли замаскированы с использованием:

import numpy as np
from numpy import ma
carbon_flux = ma.masked_values(carbon_flux, 1e+20)

Я хотел бы показать логарифм дисперсии двумерного преобразования Фурье для carbon_flux, усредненного по долготе. Я усредняю ​​массив по последней оси (долготе), а затем выполняю преобразование Фурье следующим образом:

ft_type_1 = np.log(np.abs(np.fft.fft2(ma.mean(cflux, 2)))

Это дает мне приемлемо выглядящий результат. Однако мне сказали сначала выполнить усреднение:

ft_type_2 = np.log(np.mean(np.abs(np.fft.fft2(carbon_flux, axes=(0, 1))),axis=2)

Это приводит к тому, что для вычисления fft используются замаскированные значения (я могу сказать по первому значению fft порядка 10e19).

Насколько я понимаю, результат усреднения перед fft будет отличаться от результата усреднения после fft. Правильно ли я высказал предположение или не имеет значения, в каком порядке я выполняю эти функции?

Используются ли в fft замаскированные значения? Могу ли я этого избежать?

Наконец, я вычислил логарифм двумерного преобразования Фурье для carbon_flux, усредненного по широте. Я не понимаю, как рассчитать журнал ВАРИАНТОВ двумерного преобразования Фурье, усредненного по широте. Нужно ли просто возвести в квадрат значение моего результирующего изображения fft, чтобы оно стало дисперсией?

Кажется, это очень сложная серия вопросов, но любая помощь в любом отделе будет принята с благодарностью. Спасибо.

6
задан nicholaschris 8 November 2011 в 16:00
поделиться