2017-02-16 177 views
1

我對Matlab很新穎,儘管我可能只是迭代地做這些,但我想知道使用可能內置的Matlab功能的最乾淨的方法是什麼。在Matlab中按類標籤分組數據

我有一個.mat文件,它包含一個尺寸爲150x4的特徵矩陣X和一個尺寸爲150x1的類標籤矢量Y.在Matlab中用什麼慣用的方法來讀入並將矩陣X劃分爲每個類組的單獨矩陣?

+0

請參閱grp2idx函數。 –

回答

1

在Matlab中使用find函數。下面是一個例子:

index = find(Y==somevalue); 
subX = X(index,:); 
0

所以這是我想出的最好辦法。如果有人知道一些更好的方法,比如一些內置函數可以完成所有這些,那會更好。

[row_size feature_size] = size(X_train); 
classes = unique(Y_train); 
grouped_data = cell(length(classes),1); 

for i=1:length(classes) 
    label_indices = find(Y_train==classes(i)); 
    grouped_data{i} = X_train(min(label_indices):max(label_indices),:); 
end