How to vectorize this code? element wise to save time
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
% size(matAL) > 32,500,5
matCT=zeros(500,32,32); %Pre-allocate
x=0;
for t=1:500
x=1+x;
for i=1:32
for j=1:32
xsd = squeeze(matAL(i,t,:) .* conj(matAL(j,t,:)));
matCT(x,j,i) = abs(mean(exp(1i*angle(xsd))));
end
end
end
Respuestas (1)
Vimal Rathod
el 26 de Abr. de 2020
Hi,
As all the three for loops have some dependencies it is difficult to vectorize the code.
you can try the following code, it is partially vectorized.
for i = 1:32
for j = 1:32
xsd = squeeze(matAL(i,1:500,:) .* conj(matAL(j,1:500,:)));
matCT(1:500,j,i) = abs(mean(exp(1i*angle(xsd(1:500,:)))'));
end
end
La pregunta está cerrada.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!