get inverse fourier Optimization, how can i do?

1 view (last 30 days)
denis bertin
denis bertin on 19 Sep 2017
Edited: denis bertin on 29 Sep 2017
Hi everyone,
I have these attached file name: datineltempo_ciclico.m that read file name malta1t.mat,
in th line 95, there is the peace of code like this:
NPF = 942;
N=2001;
v=381x1;(complex numbers)
f=381x1;
t=1x2001;
for(k = 1:NPF)
v = datif2(:,k);
g = zeros(2001,1);
du=f(2)-f(1);
for k1=1:N
integrando=exp(i*2*pi*t(k1)*f).*v;
g(k1)=du*sum(integrando);
end
v1 = g;
v1 = 2 * real(v1);
datit(:,k) = v1;
%k
end
.....
The problem is that is take more time to load the 942*2001 matrix;
Please somebody can i help me optimize(make faster) this loop?
Many thanks.
I need the maximum time reduce execution...
Please Help Me....

Answers (1)

Christoph F.
Christoph F. on 20 Sep 2017
The "clean" solution would be to use MATLABs fft()/ifft() functions. They are optimized and also work for vector sizes that are not a power of two.
  2 Comments
denis bertin
denis bertin on 29 Sep 2017
Please Help me with a code... Many Thank's

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!