Matlab数据处理之使用min函数获取数组最小值

4.7
(3)

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

Matlab数据处理之使用min函数获取数组最小值

min函数基本用法

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

min函数用法介绍

M=min(A)返回A的最小元素。

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

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

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

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

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

min函数实例

向量元素最小值

创建一个向量并计算其最小元素,代码如下:

>> A = [23 42 37 15 52];
>> M = min(A)

M =

    15

复数最小值

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

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

ans =

  -2.0000 + 2.0000i

每个矩阵列中最小的元素

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

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

A =

     2     8     4
     7     3     9

>> M = min(A)

M =

     2     3     4
Matlab数据处理之使用min函数获取数组最小值

每个矩阵行中最小的元素

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

>> 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 = min(A,[],2)

M =

    1.2000
    1.3000

最小元素索引

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

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

A =

     1     9    -2
     8     4    -5

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

M =

     1     4    -5


I =

     1     2     2

最小元素比较

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

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

A =

     1     7     3
     6     2     9

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

C =

     1     5     3
     5     2     5

矩阵中最小的元素

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

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

A =

     8     2     4
     7     3     9

>> A(:)

ans =

     8
     7
     2
     3
     4
     9

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

M =

     2


I =

     3

I是包含最小元素的A(:)的索引。

现在,使用ind2sub函数提取与最小元素对应的A的行和列索引。

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

I_row =

     1


I_col =

     2
Matlab数据处理之使用min函数获取数组最小值

如果只需要A的最小值而不需要它的索引,请调用min函数两次。

>> M = min(min(A))

M =

     2

涉及NaN的最小元素

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

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

M =

   -2.9500

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

使用“includenan”标志返回NaN。

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

M =

   NaN

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

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

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

共计3人评分,平均4.7

到目前为止还没有投票~

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

让我们改善这篇文章!

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

文章目录

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

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

你可能感兴趣的文章

发表回复

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