Effacer les filtres
Effacer les filtres

Is it possible to remove this for loop to speed up the processing?

2 vues (au cours des 30 derniers jours)
feng hongchuan
feng hongchuan le 20 Jan 2016
Commenté : feng hongchuan le 21 Jan 2016
I have following loop in my codes:
for n=1:Na
sig1(n,m) = sig(n,m+RCM(n));
end
where Na is a large number,28001;
the row number of sig1 and sig are the same;
the column of sig is larger than that of sig1;
RCM is a Nax1 vector.
Thanks in advance.

Réponse acceptée

Walter Roberson
Walter Roberson le 20 Jan 2016
N = 1 : Na;
sR = size(sig,1);
sig1((m-1)*sR + N) = sig((m+RCM-1)*sR + N);
No looping.
The above code uses linear indexing and uses knowledge of how to convert 2D indices into linear indices.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by