get inverse fourier Optimization, how can i do?

1 visualización (últimos 30 días)
denis bertin
denis bertin el 19 de Sept. de 2017
Editada: denis bertin el 29 de Sept. de 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....

Respuestas (1)

Christoph F.
Christoph F. el 20 de Sept. de 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 comentarios
denis bertin
denis bertin el 20 de Sept. de 2017
Editada: denis bertin el 20 de Sept. de 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 el 29 de Sept. de 2017
Please Help me with a code... Many Thank's

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by