我需要确定阵列单元格中所有单元格的交集。我使用这样的命令:
temp(j-1)={6 7 8 9 10};
temp(j)= {8 9 10};
inter = cellfun(@intersect,temp(j-1),temp(j),'UniformOutput', false) ;
在输出中我得到:
inter={0189}
我应该怎样做才能获得{8 9 10}?
我必须使用inter作为另一个矩阵中的索引向量。
答案 0 :(得分:1)
我能看到你会得到类似inter={0189}
之类的东西的唯一方法是,实际上,你实际上是因为你的单元格包含字符串而得到inter=' 0189'
。如果是这样,你可以改为做这样的交集:
>> temp = {'6 7 8 9 10' '8 9 10'} temp = '6 7 8 9 10' '8 9 10' >> inter = intersect(str2num(temp{1}), str2num(temp{2})) inter = 8 9 10
我不得不问,为什么不将数据存储在数字向量而不是字符串中?