![]() |
如何求一个矩阵中最大的10个元素值及其坐标?
:confused:有一个矩阵X(m,n),
想找到里面最大的元素值及坐标, 并要求X保持不变. 如何实现?:confused: 谢谢 |
回复: 如何求一个矩阵中最大的10个元素值及其坐标?
[m,n]=size(X);
v=sort(reshape(1,m*n),'descend'); v=v(1:10);%X中前十个最大的. idx=[]; for i=1:10 idx=[idx; find(X==v(i))]; end %idx就是X中前十个最大值的位置(依次的). |
回复: 如何求一个矩阵中最大的10个元素值及其坐标?
或者:
[m,n]=size(X); v=sort(reshape(1,m*n),'descend'); v=v(1:10);%X中前十个最大的. [tf idx]=ismember(X,v) %idx就是X中前十个最大值的位置(依次的). |
回复: 如何求一个矩阵中最大的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 |
回复: 如何求一个矩阵中最大的10个元素值及其坐标?
ok啦:)
function sort_a_matrix clear clc X=rand(4,5) [m,n]=size(X); max_number=10; max_value=sort(reshape(X,1,m*n),'descend') max_value=max_value(1:max_number) % max_site(m,n)=zeros for i=1:max_number [r(i),c(i)]=find(X==max_value(i)); end |
所有时间均为北京时间。现在的时间是 03:10。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.