美文网首页
使用Matlab寻找最大(最小)值

使用Matlab寻找最大(最小)值

作者: 荔枝猪 | 来源:发表于2019-12-05 10:31 被阅读0次

    用法

    求最小值函数min,其用法和max完全相同。

    1. C = max(A)
      如果A是一个向量,max(A)返回A中的最大元素。
      如果A是一个矩阵,max(A)将A中每一列作为一个向量,返回一行向量包含了每一列的最大元素。

    2. C = max(A,B)
      返回一个和A和B同大小的数组,其中的元素是从A或B中取出的最大元素。

    3. 求矩阵A的最大值的3种调用格式:
      (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
      (2) [Y,U] = max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。
      (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

    代码

    %% 错误例子,利用for循环,耗时
    for j = 1:length(d_data)
        data_max(j,1) = max(d_data(j,:));
        d_max_num(j,1) = find(d_data(j,:)==data_max(j,1));   % 找到每个像元该最大值所在列号(即时间)
    end
    %% 正确利用max函数,简洁快速
    [data_max,d_max_num] = max(d_data,[],2);
    

    补充说明

    [Y,U] = max(A) U向量记录每列最大值的行号,一般只记录第一个最大值的行号!

    相关文章

      网友评论

          本文标题:使用Matlab寻找最大(最小)值

          本文链接:https://www.haomeiwen.com/subject/sfargctx.html