[英]Intersection of cell array in MATLAB
我需要确定数组单元中所有单元的交集。 我使用这样的命令:
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用作另一个矩阵中索引的向量。
我可以看到的唯一方法是,如果您实际上得到的是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
我不得不问,为什么不将数据存储在数字矢量而不是字符串中?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.