通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

今天做Matlab作业要求让找出最大值和最小值,查了一些资料,进行总结一下,话不多说,直接进入主题。max和min函数主要有以下几种用法。

max(A):

如果A是一个行向量,即1 x M维的向量,返回的是这一行的最大值。

例如:

在matlab的命令行窗口定义一个行向量:

A = [4 3 2 5 6 8]; 1 x 6

然后使用max(A),结果为:8 。

如果A是一个列向量,即 M x 1维的向量,返回的是这一列的最大值。

例如:

在matlab的命令行窗口定义一个列向量:

A = [4;3;2;5;6;8] 6 x 1

然后使用max(A),结果为:8 。

如果A是一个矩阵,即 M x N维的矩阵,max(A)函数则将该矩阵的每一列进行比较,即将N列的数据分别找出最大值,返回的是1 x N维的行向量,因为1列求一个最大值,所以N列就要求N个最大值。

例如:

在matlab的命令行窗口定义一个矩阵:

A = [4 6 2 3 5;6 8 2 9 1;12 23 18 2 7] —>3 x 5(三行五列,M=3,N=5)

然后使用max(A),结果为:12 23 18 9 7

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

总结:可以记住一个规律,即:max(A)返回的是一个行向量(返回一个值那就是1 x 1的行向量),向量的第i个元素就是A(A可以是行向量列向量和矩阵)的第i列上的最大值。

max(A,[],dim):

这个函数主要在A是一个矩阵的时候被使用。 dim的全称是dimension,意思是维数。dim可以取1或2。

当取1的时候,意思和上面的max(A)所得到的结果是一样的,取得是A矩阵每一列的最大值,返回的是一个1 x N维的行向量,这个行向量的第i个值,代表的是这个矩阵A第i列的最大值。

例如:

在matlab的命令行窗口定义一个矩阵:

A = [4 6 2 3 5;6 8 2 9 1;12 23 18 2 7] —>3 x 5(三行五列,M=3,N=5)

然后使用max(A,[],1),结果为:12 23 18 9 7

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

当dim取2的时候,得到的是A矩阵每一行的最大值,返回的是一个Mx 1维的列向量,这个列向量的第i个值,代表的是这个矩阵A第i行的最大值。注意和dim等于1时的区别,可以这样理解:dim等于1时是找每一列的最大值,N列就会有N个值;dim等于2时是找该矩阵每一行的最大值,M行就会有M个值。

例如:

在matlab的命令行窗口定义一个矩阵:

A = [4 6 2 3 5;6 8 2 9 1;12 23 18 2 7] —>3 x 5(三行五列,M=3,N=5)

然后使用max(A,[],2),结果为:6;9;3

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

如果我们不仅想要得到最大值或者是最小值,我们还想得到最大值或者是最小值的位置呢?

[Y, Z] = max(A, [], dim);

这个函数不仅使得我们能得到最大值或者是最小值,我们还能得到所在的列或者是行。

Y:在这里得到的是返回的最大值或者是最小值的集合,例如上面的max(A,[],dim):dim等于1时,则返回结果赋值给了Y,dim等于2时,则返回结果赋值给了Y,即Y用于接收得到的最大或者是最小值。

Z:若dim=1,这里得到的是Y结果中每一个值在矩阵A中的行数,即Y中的值出现在矩阵A的第几行。

例如:

在matlab的命令行窗口定义一个矩阵:

A = [4 6 2 3 5;6 8 2 9 1;12 23 18 2 7] —>3 x 5(三行五列,M=3,N=5)

如图所示:

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

然后使用[Y,Z] = max(A,[],1)

结果为:Y = 12 23 18 9 7

Z = 3 3 3 2 3

即Y中的每一个最大值,它所在矩阵中的行数被保存在了Z中。

Z:若dim=2,这里得到的是Y结果中每一个值在矩阵A中的列数,即Y中的值出现在矩阵A的第几列。

例如:

在matlab的命令行窗口定义一个矩阵:

A = [4 6 2 3 5;6 8 2 9 1;12 23 18 2 7] —>3 x 5(三行五列,M=3,N=5)

如图所示:

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

然后使用[Y,Z] = max(A,[],2)

结果为:Y = 6
9
23

Z = 2
4
2

通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

即Y中的每一个最大值,它所在矩阵中的列数被保存在了Z中。

总结:dim等于1时,Y中的值是矩阵A按照列求最大值的集合,Z中保存了最大值在矩阵中的行号;dim等于2时,Y中的值是矩阵A按照行求最大值的集合,Z中保存了最大值在矩阵中的列号。

min的用法和上面一样,只需要把max这个关键字换做min即可。

转载请注明出处。

Original: https://blog.csdn.net/BaoITcore/article/details/123645614
Author: AI学习的我
Title: 通过举例彻底搞懂Matlab中max函数和min函数的用法(求最大值和最小值)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/694928/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球