Я работаю над некоторым кодом преобразования Фурье в Matlab и наткнулся на следующее:
xx = meshgrid(1:N);
% Center on DC
xx = xx - dcN;
% normalize dynamic range from -1 to 1
xx = xx./max(abs(xx(:)));
% form y coordinate from negative transpose of x coordinate (maintains symmetry about DC)
yy = -xx';
% compute the related radius of the x/y coordinates centered on DC
rr = sqrt(xx.^2 + yy.^2);
Как я могу обобщить это для неквадратных матриц? Этот код предполагает, что моя матрица квадратная, поэтому dcN является центром квадратной матрицы (другими словами, с 11x11, dcN = 6).
Математика не работает для этой переменной yy, когда транспонирование берется для неквадратной матрицы.
Я пытался выяснить, могу ли я создать сетку, идущую сверху вниз, а не слева направо - но я тоже не смог понять, как это сделать.
Спасибо