-
Notifications
You must be signed in to change notification settings - Fork 0
/
Idxs4LargeClst.m
35 lines (28 loc) · 849 Bytes
/
Idxs4LargeClst.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
%> @file Idxs4LargeClst.m
%> @brief Find the indices for the larger clusters
%=========================================================================
%> @brief Find the indices for the larger clusters
%>
%> @param c_size The sizes of the clusters
%> @param propThres The proportion threshold
%>
%> @retval idxs_large the idxs for the larger clst
%=========================================================================
function [idxs_large] = Idxs4LargeClst(c_size, propThres)
n_clst = length(c_size);
[c_size_sort idxs_sort] = sort(c_size,'descend');
sizeProp = c_size_sort / sum(c_size_sort);
acc_prop = 0;
up2idx = 0;
for i = 1:n_clst
if acc_prop > propThres
up2idx = i;
break
else
acc_prop = acc_prop + sizeProp(i);
end
end
if up2idx == 0
up2idx = n_clst;
end
idxs_large = idxs_sort(1:up2idx);