matlab中求一个矩阵的最大值及位置用哪个函数?

如题所述

找最大元素就是max(max(A)),找对应位置用find函数

举个例子:
>> A=[1 2 3 ;4 5 6]
A = 1 2 3 4 5 6
>> max(max(A))
ans = 6
>> [x y]=find(A==max(max(A)))
x = 2
y = 3
>>  找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列。

告诉你们一个手机降温的办法:

    纸巾用水浸湿后不断擦拭手机后盖,注意水不能擦太多,薄薄擦一点就好了,关键是要后盖上的水快速蒸发。待后盖上的水珠蒸发干后,又重复擦拭,一直重复至降温完毕时。原理就是蒸发吸热 。

    手机发热严重也有可能是系统很久没有优化所致.打开手机管家,将手机优化即可.

    手机里的软件开的少,但是有些软件可能是高耗电的程序.我们将这些程序关闭也可以起到降温的效果.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-13
找最大元素就是max(max(A)),注意二维矩阵要写两个max
找对应位置用find函数

举个例子:

>> A=[1 2 3 ;4 5 6]
A =
1 2 3
4 5 6
>> max(max(A))
ans =
6
>> [x y]=find(A==max(max(A)))
x =
2
y =
3
>>

找到最大元素是6,对应位置是x=2,y=3,就是第2行,第3列本回答被提问者和网友采纳
第2个回答  2012-09-13

[C,I] = max(...) finds the indices of the maximum values of A, and returns them in output vector I. If there are several identical maximum values, the index of the first one found is returned.


C为最大值,I为位置

追问

如果是多维的话就不行了,max函数只求各列的最大值

追答

哦,你要多维的呀,你就可以这样:

yourmat=rand(9);
temp=yourmat;
while(length(temp)~=1)
temp=max(temp);
end
[index1,index2]=find(yourmat==temp);
disp(['the max value is: ' num2str(temp)]);
disp(['the position is: (' num2str(index1) ',' num2str(index2) ')']);

这个坐标仅适合于2维的,更多维的可能要再麻烦一些,不过这个求最大值的是对多少维都适用的。

第3个回答  2017-10-13
第二个问题位置函数写错了,应该是这样[x y]=find(max(max(A))==A)
第4个回答  2012-09-13
矩阵比较麻烦
max(max(A))为最大值
位置大概要写函数了
相似回答