我有2个单元阵列和一个矩阵。第一个名为' all_ids'是一个包含字符串的6650 x 1单元格。第二个单元阵列名为' needed_ids'是all_ids的一部分' all_ids'并且是6600 x 1单元格,也包含字符串。
这个矩阵名为' sales_num'是一个6650 x 500的双打矩阵,这里的行与行#all_ids'有关。我想要做的是从' sales_num'中删除一些行。我要删除的行是' all_ids'中的行。但不在' needed_ids'。请参阅下面的示例。
Result I'm looking for
all_ids sales_num needed_ids sales_num (now altered)
abc1 1 abc1 1
def1 2 def1 2
ghi1 7 jkl1 8
jkl1 8 mno1 4
mno1 4 stu1 2
pqr1 12
stu1 2
vwx1 5
答案 0 :(得分:4)
使用 setdiff
-
[~,row_ind] = setdiff(all_ids,needed_ids) %// Find rows exclusive to all_ids
sales_num(row_ind,:)=[]; %// Remove rows that match the exclusiveness