how to make this more efficient? i've done clustering, so i want to separate them based on their cluster, so i made like this, but if i change the r so the number of their cluster will change, so i want to they loop based on their number of the cluster, i've tried use for, but i didn't found out how to make loop for condition like this
ind1 = idx == 1;
ind2 = idx == 2;
ind3 = idx == 3;
ind4 = idx == 4;
ind5 = idx == 5;
ind6 = idx == 6;
C1_k = datareal(ind1,:);
C2_k = datareal(ind2,:);
C3_k = datareal(ind3,:);
C4_k = datareal(ind4,:);
C5_k = datareal(ind5,:);
C6_k = datareal(ind6,:);

1 件のコメント

Stephen23
Stephen23 2021 年 6 月 22 日
"...i didn't found out how to make loop for condition like this"
Meta-data in variable names indicates that you are doing something wrong.
Copy-and-pasting code like that indicates that you are doing something wrong.
The neat, simple, efficient MATLAB approach is to use indexing with one array.

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

 採用された回答

KSSV
KSSV 2021 年 6 月 22 日

1 投票

G = 6 ; % number of cluster
ind = cell(G,1) ;
C = cell(G,1) ;
for i = 1:G
ind{i} = idx == i;
C{i} = dataarea1(idx==i,:) ;
end

1 件のコメント

Fabyola
Fabyola 2021 年 6 月 22 日
aah i see, okaay thanks a lot for your help

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2021 年 6 月 22 日

コメント済み:

2021 年 6 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by