speed up line: find(c>a(:,1) & c<= a(:,2))

2 ビュー (過去 30 日間)
Chaoyang Jiang
Chaoyang Jiang 2018 年 3 月 25 日
コメント済み: Jan 2018 年 3 月 25 日
How can I speed up this line:
a=[3 4; 5 6; 4 5;2 8; 1 9; 23 24;1 12;3 6;12 25; 15 30;...]
b=find(5>a(:,1) & 5<= a(:,2));
when size(a) is 100,000,000 *2, this line is super slow. Any idea?
Thank you!
  6 件のコメント
Jan 2018 年 3 月 25 日
Then it is time to think twice: Is this approach efficient? Do you have any further information, which can be exploited, e.g. if the data is sorted, or the positions are near to the ones of the last iteration? A brute search is time-consuming in large data. There is no magic trick to reduce the time. Maybe you can parallelize the iterations?
I assume you can get more help, if you explain the actual problem and post the relevant code.


回答 (0 件)


Community Treasure Hunt

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

Start Hunting!

Translated by