get inverse fourier Optimization, how can i do?

1 visualizzazione (ultimi 30 giorni)
denis bertin
denis bertin il 19 Set 2017
Modificato: denis bertin il 29 Set 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....

Risposte (1)

Christoph F.
Christoph F. il 20 Set 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 Commenti
denis bertin
denis bertin il 20 Set 2017
Modificato: denis bertin il 20 Set 2017
Thank you Christoph, but i don't know how can do it without modify the current result. Please help me with the code,then i would learn how you are done it. I attached to problem all necessaries files.
Many thanks.
denis bertin
denis bertin il 29 Set 2017
Please Help me with a code... Many Thank's

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by