matlab中几个数组的交集,在MATLAB中没有for循环的多个数组的交集

这是使用

unique和

accumarray的矢量化方法,假设输入单元阵列的每个单元格中没有重复 –

[~,~,idx] = unique([tsCell_time{:}],'stable')

out = tsCell_time{1}(accumarray(idx,1) == length(tsCell_time))

样品运行 –

>> tsCell_time = {[1 6 4 5],[4 7 1],[1 4 3],[4 3 1 7]};

>> InterSection = tsCell_time{1};

for i = 2:length(tsCell_time)

InterSection = intersect(InterSection,tsCell_time{i});

end

>> InterSection

InterSection =

1 4

>> [~,~,idx] = unique([tsCell_time{:}],'stable');

out = tsCell_time{1}(accumarray(idx,1) == length(tsCell_time));

>> out

out =

1 4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值