【问题标题】:how do i obtain multiple max values in an array simultaneously in matlab?如何在matlab中同时获得数组中的多个最大值?
【发布时间】:2016-06-15 15:32:40
【问题描述】:

如何在 matlab 中同时获取数组中的多个最大值? 例如在矩阵的行或列中 如果我有一个数组 [45 12 56 98 67 89 23 100 201 345] 我怎样才能同时获得最高值

【问题讨论】:

    标签: arrays matlab sorting


    【解决方案1】:

    您可以使用unique 默认情况下按升序对数组进行排序(因此您需要flip 它),然后您可以使用您关心的第一个N 值。

    vals = flip(unique(data));
    maxima = vals(1:N);
    

    如果您不关心唯一最大值,则只需使用 sort

    vals = sort(data, 'descend');
    maxima = vals(1:N);
    

    如果您想要某个行/列的最大值或最小值,您可以使用dim 输入到minmax

    % Maximum per column
    maxima = max(data, [], 1);
    
    % Maximum per row
    maxima = max(data, [], 2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      相关资源
      最近更新 更多