How to speed up find and unique

10 ビュー (過去 30 日間)
Chaoyang Jiang
Chaoyang Jiang 2018 年 4 月 26 日
コメント済み: Chaoyang Jiang 2018 年 4 月 26 日
I did the profiling where unique and find take the most of time.
I use find as I want to know the row and column index of the 1 elements in a. For unique, I only need the index.
a=randi([0 1], 20000,8736);
temp=randi(8737, 4000,1000);
for i=1000
[aa0,aa00]=find(a(:,temp(:,i))==1);
[~,aa001,~]=unique(aa00);
end
May I know how to speed up? Thank you.
  2 件のコメント
Chaoyang Jiang
Chaoyang Jiang 2018 年 4 月 26 日
Thank you for your answer. The output of aa001 = find(diff([0; aa0])) is the unique value, while in my code, [~,aa001,~]=unique(aa00) the output is the unqiue value index. They are not same.

サインインしてコメントする。

回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by