matlab求一个矩阵某一列的最大值和位置

程序如下:A=magic(3)
[max,rows]=max(A(:,3))
第一次可以运行,但第二次运行时候提示错误“??? Indexing cannot yield multiple results.”是什么原因呢?

第一次可以运行,此时调用max函数求取A的第三列的最大值和所在行数,max更新为常数;
第二次运行时,max(A(:,3))表示的是第一次产生的max矩阵中A(:,3)位置的三个数,由此发生错误;
如果要多次使用,可以在第一次[max,rows]=max(A(:,3))后>>clear max,max清除后就可以再次输入[max,rows]=max(A(:,3))了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-14
你不要用max就行了
>> A=magic(3);
>> [my_max,rows] = max(A(:,3))

my_max =

7

rows =

2本回答被提问者和网友采纳
相似回答