matlab max 函数不会使用

mm=[1 2 3;4 5 6;7 8 9];
mmm=max(mm)
运行后提示:
Index exceeds matrix dimensions.

为什么呢?

没问题,是对的,可能你没有清空工作空间变量
另外,max是按列进行的,要求整个矩阵的最大值
要max2次的。换句话说,max和min只能给出向量的最大值和最小值
不能直接给出矩阵的最大和最小值:
clear all;clc;
mm=[1 2 3;4 5 6;7 8 9];
mm1=max(mm)
mm2=max(max(mm))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-03
打help回车键。然后打max回车。帮助系统里有各个函数的解释和例句。。。你那个mm是矩阵不能直接用max。可以用一个循环比较矩阵里的各个数,再得出结论
第2个回答  2013-02-03
求矩阵的最大值和最小值
求矩阵A的最大值的函数有3种调用格式,分别是:
(1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
(2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。

(3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
求最小值的函数是min,其用法和max完全相同。
--------------------------------------------
以上粘来的,可不看
修改如下:
matlab里矩阵是按列存储的,对一个二维矩阵A使用max函数max(A)是求A中每一列的最大值,并以行向量的形式表示max(A(:))是求A中所有元素中的最大值
-------------
你的mm是二维矩阵,所以可修改
mmm=max(mm(:))

或者
[mm1,mm2] = max(mm)

参考资料:http://blog.sina.com.cn/s/blog_6040778d0100uz25.html

相似回答