小编vin*_*ent的帖子

在matlab中查找cellarray中的值(数组)

我试图找到一种更有效的方法来找到除了使用'for'循环之外的cellarray中的数组索引.我的问题如下:

a = [6,3]
b = {[1,10];[1,8,10];[8,10];[2,8];2;[2,4,5];[2,4];[];[3,6];[3,4,6];6;[3,5,6];[6,9];[1,6,9];[1,6,7,9]}
Run Code Online (Sandbox Code Playgroud)

我需要在'b'中找到'a'的索引.我当前的方法有效,但是当你增加'b'的大小时这是非常缓慢和麻烦的.我对数组的顺序不感兴趣,只是内容相同,这就是我使用'setxor'方法的原因.下面的代码显示了我目前如何执行此操作的示例.

for num = 1:size(b,1)       
    new_array(num,1) = isempty(setxor(a, b{num,1}));
    if (new_array(num,1) == 1)
       indexOfArray = num; 
       break; 
    end;
end;
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?先谢谢,文森特

arrays matlab

3
推荐指数
1
解决办法
125
查看次数

标签 统计

arrays ×1

matlab ×1