如果我有一个4x1单元结构,其中:
[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的单元格
答案: [5,3,0,0]
[5,3,0,0]
拾取第二个数组值为3的单元格
答案: [5,3,0,0] [0,3,5,0] [1,3,0,0] [0,3,2,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