繁体   English   中英

MATLAB中单元格数组的交集

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM