Is this for-loop vectorizable?

b=1;
for a=2:length(ToneLines)
if ToneLines(a)-ToneLines(b)>13000
b=a;
else
ToneLines(a)=0;
end
end
ToneLines=ToneLines(ToneLines>0);
ToneLines is a vector of positive integers sorted from small to large without any equal elements. Is it possible to vectorize this loop for a better performance?

回答 (1 件)

Bruno Luong
Bruno Luong 2019 年 9 月 24 日

0 投票

I don't think sequential search can be vectorizable.
You might improve a bit of the search by implementing dichotomy seach rather than linear.

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2019b

質問済み:

2019 年 9 月 24 日

回答済み:

2019 年 9 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by