Я новичок в преобразовании Фурье, поэтому надеюсь, что кто-то может помочь! Я хочу рассчитать волновой вектор преобразования Фурье, поэтому я делаю эту тестовую программу. В основном у меня есть вектор u
. Я применяю преобразование Фурье, чтобы создать вектор uf
. Затем я применяю свертку с функцией Гаусса. Код в Scilab выглядит так
u = [0.1 -0.1 -0.1 -0.1 0.1 0.1 -0.1 0.1 0.1 -0.1];
sizeu = size(u,'*');
// wave vector
for i=1:sizeu
q(i) = (i-1) * 2 * %pi / sizeu;
end
// forward transform
uf = fft(u);
// convolution with a Gaussian function
for i=2:sizeu
vf(i) = uf(i)*exp(-q(i)*q(i));
end
// backward transform
v = ifft(vf);
Поэтому я считаю, что результат, то есть вектор v
, должен быть реальным вектором. Но на самом деле это сложный вектор. Я думаю, что ошибка в волновом векторе q
, но я не знаю правильного ответа.