I've been asked to write a function (.m file) in Matlab to calculate the discrete fourier transform coefficient for an arbitrary function x. So far this is what I've done:(adsbygoogle = window.adsbygoogle || []).push({});

function a = mydft(x,N)

%MYDFT Calculates the discrete fourier transform

%usage:

%[a]=mydft(x)

%x=[ x[0] x[1] ... x[N-1] ] - vector containing discrete time sequence

%a=[ a_0 a_1 ... a_N-1 ] - vector of discrete time Fourier Series

%coefficients, k=0,...,N-1

for k=0:N-1

for m=0:N-1

w=exp(-j*2*pi/N.*m.*k);

end

a=sum(x(m).*w);

end

end

when I use it on a signal given to me and then plot kw_hat vs. |a| I get a plot that looks nothing like what I do for the same signal by hand. I don't think I'm getting the correct DFT coefficients out of this function

This is the first time I've used Matlab so I'm not very familiar with it and would appreciate any advice.

**Physics Forums - The Fusion of Science and Community**

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# DFT Matlab function

Can you offer guidance or do you also need help?

Draft saved
Draft deleted

Loading...

Similar Threads - Matlab function | Date |
---|---|

Working with Edge function in MATLAB | Mar 7, 2017 |

Matlab Does MatLab have this kind of function? | Jan 15, 2017 |

Matlab error matrix function | Apr 25, 2016 |

Matlab Plotting a 3d function | Apr 1, 2016 |

Fit with implicit nonlinear function - Matlab | Oct 19, 2015 |

**Physics Forums - The Fusion of Science and Community**