如何利用matlab求一个矩阵里面的最大值和位置?

2024-11-08 21:42:25
推荐回答(2个)
回答(1):

第一次可以运行,此时调用max函数求取a的第三列的最大值和所在行数,max更新为常数;
第二次运行时,max(a(:,3))表示的是第一次产生的max矩阵中a(:,3)位置的三个数,由此发生错误;
如果要多次使用,可以在第一次[max,rows]=max(a(:,3))后>>clear
max,max清除后就可以再次输入[max,rows]=max(a(:,3))了。

回答(2):

找最大元素就是max(max(A)),注意二维矩阵要写两个max
找对应位置用find函数
例如:
A=[5
6
8
7
5
1
3
4
9
8
5
7
9
1.2
8.8
9.8
9.4
8.5
1.3
5.4]
a=max(max(A))
[x,y]=find(A==a)
运行结果:
A
=
5.0000
6.0000
8.0000
7.0000
5.0000
1.0000
3.0000
4.0000
9.0000
8.0000
5.0000
7.0000
9.0000
1.2000
8.8000
9.8000
9.4000
8.5000
1.3000
5.4000
a
=
9.8000
x
=
4
y
=
1
至于是不是整数是没有关系的,x和y就是该最大值的位置!