# Huge difference between the result of fft function Matlab and analytical Fourier transform of the same function

조회 수: 29(최근 30일)

표시 이전 댓글

Hey,

I am trying to find a way to obtain the numerical fourier transform of a function (it is not a signal and I only want to obtain the numerical fourier transform of a function). For a test code, I tried to see what is the result of fft matlab for a Gaussian function and compared it with the analytical fourier transform of this Gaussian. I have attached the plot of both results. Why the amplitude of fft result is that huge compared to analytical result? I can use fftshift to shift the result of fft to center but still the issue of amplitudes are there. I am wondering isn't it because it is a Gaussian function and so not periodic over time? Does fft only works if the function we have is spanned from -infinity to +infinity (basically a signal)? or we can use it if we want ot calculate the fourier transform of a function which spans from t-1 to t-2?

### 채택된 답변

Paul
2022년 9월 11일

### 추가 답변(1개)

David Goodmanson
2022년 9월 11일

편집: David Goodmanson
2022년 9월 11일

Hi ST,

Your frequency grid runs from -5 to 5, which for an fft is -fs/2 to fs/2 (fs being the sampling frequency), so fs = 10. The sampling interval delta_t = 1/fs = 1/10. It appears that you are trying to approximate a continuous Riemann integral

Int g(t) e^(-2pi i f t) dt

by using the fft. That approximation is a sum over indices (done by the fft) times the width of the intervals.

Sum (stuff) * delta_t

So if you multiply by 1/10, that takes the fft result down by exactly the right amount.

### 참고 항목

### 범주

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!