本文讲解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
每个矩阵行中最小的元素
创建一个矩阵并计算每行中的最小元素。
>> 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
如果只需要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)返回包含每行中最小元素的列向量。
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/3755.html