Matlab数据处理之max最值函数的用法介绍

4.7
(3)

本文讲解Matlab中数据分析处理相关的函数,max最值函数属于Matlab数据处理中最基本的操作之一。可以用来获取一组数据、多维数据中的最大值。文中,将给出几个实例来说明max函数的用法。

Matlab数据处理之max最值函数的用法介绍

max函数基本用法

M = max(A)
M = max(A,[],dim)
[M,I] = max(___)
C = max(A,B)
___ = max(___,nanflag)

max函数用法介绍

M=max(A)返回A的最大元素。

  • 如果A是向量,则max(A)返回A的最大元素。
  • 如果A是矩阵,则max(A)是包含每列最大值的行向量。
  • 如果A是多维数组,则max(A)沿着大小不等于1的第一个数组维度操作,将元素视为向量。此维度的大小变为1,而所有其他维度的大小保持不变。如果A是第一维度为0的空数组,则max(A)返回与A大小相同的空数组。

M=max(A,[],dim)返回沿尺寸dim的最大元素。例如,如果A是矩阵,则max(A,[],2)是包含每行最大值的列向量。

[M,I]=max(_)查找A的最大值的索引,并使用前面语法中的任何输入参数将其返回到输出向量I中。如果最大值出现多次,则max返回与第一次出现对应的索引。

C=max(A,B)返回一个数组,其中最大的元素取自A或B。

_=max(_,nanflag)指定在前面任何语法的计算中是否包含或忽略NaN值。对于单输入情况,要指定nanflag而不指定dim,请使用max(A,[],nanflag)。例如,max(A,[],’includenan’)包含A中的所有NaN值,而max(A,[],’omitnan’)忽略它们。

max函数实例

向量元素最大值

创建一个向量,并得出最大值,代码如下:

>> A = [23 42 37 18 52];
>> M = max(A)

M =

    52

复数最大值

创建一个复向量并计算其最大元素,即幅值最大的元素。

>> A = [-2+2i 4+i -1-3i];
>> max(A)

ans =

   4.0000 + 1.0000i

每个矩阵列中最大的元素

创建一个矩阵并计算每列中最大的元素。

>> A = [2 8 4; 7 3 9]

A =

     2     8     4
     7     3     9

>> M = max(A)

M =

     7     8     9
Matlab数据处理之max最值函数的用法介绍

每个矩阵行中的最大元素

创建一个矩阵并计算每行中最大的元素。

>> A = [1.7 1.2 1.5; 1.3 1.6 1.99]

A =

    1.7000    1.2000    1.5000
    1.3000    1.6000    1.9900

>> M = max(A,[],2)

M =

    1.7000
    1.9900

最大元素索引

创建一个矩阵a,计算每列中最大的元素,以及它们所在的a的行索引。

>> A = [1 9 -2; 8 4 -5]

A =

     1     9    -2
     8     4    -5

>> [M,I] = max(A)

M =

     8     9    -2


I =

     2     1     1

最大元素比较

创建一个矩阵,并返回其每个元素之间与标量相比的最大值。

>> A = [1 7 3; 6 2 9]

A =

     1     7     3
     6     2     9

>> B = 5;
>> C = max(A,B)

C =

     5     7     5
     6     5     9

矩阵中最大的元素

创建一个矩阵a,并使用其列表示形式a(:)来查找最大元素的值和索引。

A =

     8     2     4
     7     3     9

>> A(:)

ans =

     8
     7
     2
     3
     4
     9

>> [M,I] = max(A(:))

M =

     9


I =

     6
Matlab数据处理之max最值函数的用法介绍

I是A(:)中最大元素的索引,即位置。

我们可以,使用ind2sub函数提取与最大元素对应的A的行和列索引。

>> [I_row, I_col] = ind2sub(size(A),I)

I_row =

     2


I_col =

     3

如此,就完美的确定了一个二维矩阵中最大元素的具体位置。

如果只需要A的最大值而不需要它的索引,那么调用max函数两次。

>> M = max(max(A))

M =

     9

涉及NaN的最大元素

创建一个向量并计算其最大值,不包括NaN值。

>> A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
>> M = max(A,[],'omitnan')

M =

    3.9800

max(A)也将产生此结果,因为”omitnan”是默认选项。

使用“includenan”标志返回NaN。

>> M = max(A,[],'includenan')

M =

   NaN

最后,再补充点注意事项,关于多维数组的max函数使用:

如果dim=1,则max(A,[],1)返回包含每列中最大元素的行向量。

如果dim=2,则max(A,[],2)返回包含每行中最大元素的列向量。

共计3人评分,平均4.7

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/3744.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2022年12月13日 19:09
下一篇 2022年12月13日 20:53

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号