代码之家  ›  专栏  ›  技术社区  ›  NLed

如何使用Matlab检查1x4双细胞中的特定值?

  •  -1
  • NLed  · 技术社区  · 13 年前

    如果我有一个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]

    拾取第二个数组值为3的单元格

    答案: [5,3,0,0] [0,3,5,0] [1,3,0,0] [0,3,2,0]

    我如何才能做到这一点?

    1 回复  |  直到 13 年前
        1
  •  0
  •   JustinBlaber    13 年前

    代码:

    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
    
    推荐文章