美文网首页
使用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