定义
函数max函数用于求向量或者矩阵的最大元素,或几个指定值中的最大值。MATLAB等高级编程语言中常用有三种形式:max(A)、max(A,B)、max(A,[],dim)。
参考用书
最优化方法及其MATLAB程序设计
本书较为系统地介绍了最优化问题的基本理论和算法以及MATLAB优化工具箱的使用,并通过程序设计对一维搜索、线性规划、非线性规划、目标规划、约束优化、二次规划、图论算法等内容进行仿真。本书力求做到深入浅出,注重方法的实用性,着重阐述基本思路、必要的理论和方法,以及应用中需了解、掌握的知识,使读者认识并了解最优化方法的思路和手段。
本书可供数学与应用数学、信息与计算科学专业的本科生,应用数学、计算数字、运筹学与控制论专业的研究生,理工科相关专业的研究生,对最优化理论与算法感兴趣的教师及科技工作者阅读。
数学等价
为需要找出最大数值的1到30个数值。
说明
可以将参数指定为数字、空白单元格、逻辑值或数字的文本表达式。如果参数为错误值或不能转换成数字的文本,将产生错误。如果参数为数组或引用,则只有数组或引用中的数字将被计算。数组或引用中的空白单元格、逻辑值或文本将被忽略。如果逻辑值和文本不能忽略,请使用函数MAXA来代替。
如果参数不包含数字,函数MAX返回0。
示例
示例1:如果A1:A5包含数字10、7、9、27和2,则:
MAX(A1:A5)等于27
MAX(A1:A5,30)等于30
示例2:如果A1=71、A2=83、A3=76、A4=49、A5=92、A6=88、A7=96。
则公式“=MAX(A1:A7)”返回96。
示例3:课时计算,一个教学班不足60人的按60人计算,超过60人的,每超过1人,课时增加0.006。
公式为=1+MAX(A1-60,0)*0.006
示例4:用Max函数计算个人所得税,简单一点吧,假定1000元以下不征税,1000-2000元,超出1000元的部分按1%征税,2000-5000元,超出2000元的总分按2%征税,还要加上2000元的额定税(2000-1000)*1%=10元;50000元以上,超出5000元的部分按5%征税,同时加上2000元的额定税40元。
则公式为=MAX((A1-{1000,2000,5000})*{0.01,0.02,0.05}+{0,10,40},0)
最终简化为=MAX(A1*{0.01,0.02,0.05}-{10,30,210},0)
Matlab函数
max函数的几种形式
(1)max(a)
(2)max(a,b)
(3)max(a,[],dim)
(4)[C,I]=max(a)
(5)[C,I]=max(a,[],dim)
举例说明函数意思
(1)max(a)
如果a是一个矩阵,比如a=[1,2,3;4,5,6],max(a)的意思就是找出矩阵每列的最大值,
本例中:max(a)=[4,5,6]
(2)max(a,b)
如果a和b都是大于1维的矩阵,那么要求a和b的行列的维数都要相等,函数的结果是比较a和b中每个元素的大小,比如:
a=[1,2,3;4,5,6]b=[4,5,6;7,8,3]
max(a,b)=[4,5,6;7,8,6]
另外,如果a和b中至少有一个是常数,也是可以的。比如:
a=[1,2,3;4,5,6]b=3c=5
max(a,b)=[3,3,3;4,5,6]相信大家看了例子都明白了函数的意思了吧
max(b,c)=5
(3)max(a,[],dim)
这个函数的意思是针对于2维矩阵的,dim是英文字母dimension的缩写,意思是维数。
当dim=1时,比较的a矩阵的行,也就是和max(a)的效果是一样的;当dim2时,比较的是a矩阵的行。下面举个例子:
a=[1,2,3;4,5,6]max(a)=max(a,[],1)=[4,5,6]比较的第一行和第二行的值
max(a,[],2)=[3,6]
(4)[C,I]=max(a)
C表示的是矩阵a每列的最大值,I表示的是每个最大值对应的下标:
下面举例说明:
还是刚才那个例子:a=[1,2,3;4,5,6][C,I]=max(a)
结果显示的是C=[4,5,6]I=[2,2,2]返回的是最大值对应的行号。
(5)[C,I]=max(a,[],dim)
同理:如果dim=1时,其结果和[c,i]=max(a)是一样的。
当dim=2时,同样上面的矩阵a,我们运行一下:
[c,i]=max(a,[],2)结果是:c=[3,6]i=[3,3]i返回的是矩阵a的列号。



















