オクターブの fft 関数で遊んでいますが、出力をスケーリングする方法がわかりません。次の (非常に短い) コードを使用して関数を近似します。
function y = f(x)
y = x .^ 2;
endfunction;
X=[-4096:4095]/64;
Y = f(X);
# plot(X, Y);
F = fft(Y);
S = [0:2047]/2048;
function points = approximate(input, count)
size = size(input)(2);
fourier = [fft(input)(1:count) zeros(1, size-count)];
points = ifft(fourier);
endfunction;
Y = f(X); plot(X, Y, X, approximate(Y, 10));
基本的に、それが行うことは、関数を取り、間隔のイメージを計算し、fft-it してから、いくつかの高調波を保持し、結果を ifft することです。それでも、垂直方向に圧縮されたプロットが表示されます (出力の垂直方向のスケールが間違っています)。何か案は?