如何使用Matlab检查1x4双单元格中的特定值?

时间:2013-03-21 17:19:49

标签: matlab compare cell combinations

如果我有一个4x1 Cell结构:

[1x4 double]
[1x4 double]
[1x4 double]
[1x4 double]

每个Cell都有:

[5,3,0,0]
[0,3,5,0]
[1,3,0,0]
[0,3,2,0]

我想执行以下操作:

选择具有第一个数组值= 5

的单元格

ans:[5,3,0,0]

选择具有第二个数组值= 3

的单元格

ans:[5,3,0,0] [0,3,5,0] [1,3,0,0] [0,3,2,0]

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

代码:

a = cell(4,1);
a{1} = [5 3 0 0];
a{2} = [0 3 5 0];
a{3} = [1 3 0 0];
a{4} = [0 3 2 0];

findval = 3;
arrayind = 2;

b = a(cellfun(@(x)x(arrayind) == findval,a));
b{:}

终端:

ans =

     5     3     0     0


ans =

     0     3     5     0


ans =

     1     3     0     0


ans =

     0     3     2     0