【问题标题】:Selecting elements in matrix using matlab使用matlab选择矩阵中的元素
【发布时间】:2014-05-15 02:47:35
【问题描述】:

我的问题是:我有一个矩阵,例如

1   2   3 
4   2   6
6   1   8
4   5   4
7   1   5
8   2   0

我希望从矩阵中提取选定的值,例如像这样的向量

B = [3 6 0]

当第二列的值为 2 时选择第三列的值。 我尝试了不同的方法,但没有一种方法有效。

【问题讨论】:

    标签: matlab matrix selected


    【解决方案1】:

    使用这个 -

    B = A(A(:,2)==2,3)' %// Assuming A is your input matrix
    

    【讨论】:

      【解决方案2】:

      如果 M 是您的矩阵,您可以使用选择第二列

      M(:,2)
      

      将其与两个比较以获得包含 2 的行

      M(:,2)==2
      

      并使用此逻辑向量从第三列中选择您的元素。

      M(M(:,2)==2,3)
      

      【讨论】:

        【解决方案3】:

        更笼统一点:如果要根据一组值进行选择,请使用ismember 生成逻辑索引:

        >> A(ismember(A(:,2), [2 5]) , 3) %// [2 5]: values you want to find in 2nd col
        
        ans =
        
             3
             4
             6
             0
        

        【讨论】:

        • 也许你可以提到 [1 5] 1 和 5 是第二列中的值是人们正在寻找的。更好的例子可能是涉及2,所以类似 [2 5] 可能是因为 OP 正在寻找 2
        • @Divakar 谢谢!更新
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        • 2019-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多