Eliminating a for loop for faster computation

HI, FInd below part of my code .Is it possible to substitute the for loop so that it is faster and takes less computation?
time_durations=zeros(length(out),1)';
for k=1:length(out)
time_durations(k)=minutes(time_select_20000(out(k,3))-time_select_20000(out(k,2)));
end

回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 6 月 26 日

0 投票

Have you tried
minutes(time_select_20000(out(:,3))-time_select_20000(out(:,2)))
with no loop?

2 件のコメント

yashvin
yashvin 2015 年 6 月 26 日
Yes it works! Based on your experience, in this particular case, which one would you suggest?
Walter Roberson
Walter Roberson 2015 年 6 月 26 日
Vectorize. It's clearer.

この質問は閉じられています。

タグ

質問済み:

2015 年 6 月 26 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by