Filter values in an array based on some condition

Given two arrays A and B. A contains some data belonging to 10 different class. B(i,1) gives the index of class stored in A(:,:,i). How to filter values given in A based on the classes given in B.
size(A) = 28, 28, 60000
size(B) = 60000,1
B(i, 1) belongs to 1 to 10.

 采纳的回答

Suppose you want to seperate values belonging to class 1 in B.
A; % 28x28x60000
B; % 60000x1
idx = B==1;
A_1s = A(:,:,idx)
To seperate all labels
A_seperated = cell(1, 10);
for i = 1:numel(A_seperated)
A_seperated{i} = A(:,:,B==i);
end
It will output a cell array.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by