Я пытаюсь воссоздать функцию из дискретного преобразования Фурье. В Matlab это будет сделано так:
function [y] = Fourier(dft,x)
n = length(dft);
y = cos(pi*(x+1)'*(0:n-1))*real(dft)+sin(pi*(x+1)'*(0:n-1))*imag(dft)
end
Моя попытка в Python провалилась, потому что я не знаю, как правильно сложить все коэффициенты
def reconstruct(dft, x):
n = len(dft)
y = ([(coeff.real)*np.cos(np.pi*x*nn) + (coeff.imag)*np.cos(np.pi*x*nn) for coeff in dft for nn in range(0,n)])
Но это не правильно, потому что мне нужно сложить по n и сложить эти суммы вместе. Где я?
Уравнение, которое я пытаюсь воссоздать, приведено ниже: