作者s123123sam (~火火狗)
看板MATLAB
標題Re: [討論] 怎樣把矩陣內的值之大小順序全部倒轉
時間Mon Oct 14 21:58:30 2013
※ 引述《zenki0127 (六瓢)》之銘言:
: 例如
: A=[1 6 8 7 4]
: 如何將它變成
: B=[8 6 1 4 7]
: 也就是最大那個的值變成最小的那個
: 第二大的值變成第二小的那一個....依此類推
來騙點P幣吧。
用到函數
% ismember 兩者矩陣 比對用
%[ba,bb] = ismember(A,B) 在A矩陣元素,尋找等於B矩陣元素
% ba 矩陣大小 會等於B矩陣大小
% bb 矩陣大小 會等於B矩陣大小
% sort 將一個數字矩陣,由小到大 或由大到小排列
% [ab,ac] =sort(aa); 預設為由小到大
% ab 為由小到大結果
% ac 對應原本aa的index , aa(ac) 會排列結果等於 ab
% 以下為範例
aa =[1,3,5,7,9,4];
[ab,ac] =sort(aa);
[ba,bb] =ismember(aa,ab);
cc =ab(end:-1:1);
dd =cc(bb);
打到一半文章斷線...
~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.154.107
1F:推 zenki0127:感謝您的解答!! 10/14 22:23
2F:→ jeffppp:[q,w]=sort(A); [q1,w1]=sort(A,'descend'); B(w)=q1; 10/15 08:20
※ 編輯: s123123sam 來自: 219.87.154.107 (10/15 22:24)