Which method to use, basic for loop or loop through values of a vector
Show older comments
Vector ind has indices I want to loop through, x has values.
ind = [1 3 5];
x = [10 20 30 40 50 60 70];
ind_len = size(ind,2)
Approach 1: When using a for loop, should I use the basic incremental for loop, where I access each element of x with index values from ind vector
for i = 1:ind_len
x(ind(i))
end
Approach 2: Don't use ind_len length variable and assign ind vector to for loop
for i = ind
x(i)
end
Which method is efficient ?
Accepted Answer
More Answers (1)
KALYAN ACHARJYA
on 24 Dec 2020
Edited: KALYAN ACHARJYA
on 24 Dec 2020
More simpler, without loop
x(ind)
The 2nd approach (If I must have to choose one from above)
2 Comments
Thrisha R
on 24 Dec 2020
KALYAN ACHARJYA
on 24 Dec 2020
Edited: KALYAN ACHARJYA
on 24 Dec 2020
Great one, once I run the code, as given in the question..
ind = [1 3 5];
x = [10 20 30 40 50 60 70];
ind_len = size(ind,2);
tic
for i = 1:ind_len
x(ind(i));
end
toc
tic
for i = ind
x(i);
end
toc
Elapsed time is 0.000021 seconds.
Elapsed time is 0.000016 seconds.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!