查看单个帖子
旧 2009-04-25, 11:10   #4
angie
初级会员
 
注册日期: 2009-04-24
帖子: 3
声望力: 0
angie 正向着好的方向发展
问题 回复: 如何求一个矩阵中最大的10个元素值及其坐标?

试了一下, 好像不行,原因如下:
1. reshape 好像不能用reshape(X,m*n),只能用(X,m,n),这样就只能对列sort,因此结果是从前面列往后取,没有遍及整个矩阵X
2.位置没有按矩阵中的行列坐标给出(因为实际的矩阵比较大,要求知道相应坐标的信息),只给出在矩阵中的顺序位置,只有一个值

我把程序贴出来,请大家帮我看看:
function sort_a_matrix
clear
clc
X=rand(4,5)
[m,n]=size(X);
max_number=10;
max_value=sort(reshape(X,m,n),'descend')
max_value=max_value(1:max_number)
% max_site=[];
% for i=1:max_number
% max_site=[max_site;find(X==max_value(i))];
% end
[tf max_site]=ismember(X,max_value)
max_value;
max_site
angie 当前离线   回复时引用此帖