作者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)