Matlab:在矩阵A中,如何找到第四行的值,对应第一行的某些值?

时间:2014-07-22 15:05:55

标签: matlab matrix

    17     2     4    14    14    16
    19     6    20     9     1    15
A =  3    11    20    19    17     8
    19    20    10    16    19    14
    13    20    17    20    14     4

如何找到第四行的值,对应第一行的2和14?

所需的结果:[20 16 19]

2 个答案:

答案 0 :(得分:3)

使用ismember生成logical index

result = A(4, ismember(A(1,:), [2 14]));

根据两行选择值:

result = A(4, ismember(A(1,:), [2 14]) & ismember(A(2,:), [6 9]));

答案 1 :(得分:2)

首先,您需要找到第一行中等于214

的条目
>> eqTo = [2;14];
>> sel = any( bsxfun( @eq, A(1,:), eqTo ), 1 )

 0     1     0     1     1     0 

现在使用逻辑索引从第四行中提取相应的条目

>> A( 4, sel )

 20    16    19