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

2 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2016-1-20
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by