【问题标题】:selecting subset of matrix based on condition根据条件选择矩阵的子集
【发布时间】:2015-09-04 17:41:10
【问题描述】:

我有以下矩阵

test = [1 2 3 4;
        2 3 4 5;
        3 4 5 6;
        4 5 6 7;
        5 6 7 8];

我想选择第一个条目的值介于 1 和 3 之间的 。我尝试了

test(test(:,1)<3 && test(:,1)>1)

但这给了我一个错误。然后我尝试了

test(1<test(:,1)<3)

但这并没有给我想要的结果2 3 4 5。有没有办法获得这个是Matlab?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    试试这个,我无法在 Matlab 中测试它,但它应该可以工作。

    test((1 < test(:,1) && test(:,1) < 3),:)
    

    解释:

    这个 (1

    更多信息请参见here

    【讨论】:

      【解决方案2】:

      为了在逻辑上逐个比较向量,您必须使用 & 而不是 &&:

      test(test(:,1)<3 & test(:,1)>1,:)
      

      这会产生答案:

       2     3     4     5
      

      【讨论】:

      • 我在 Matlab 中测试过。
      猜你喜欢
      • 1970-01-01
      • 2014-11-27
      • 2013-12-04
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      相关资源
      最近更新 更多