matlab sort()升序和降序
来源:互联网 发布:科普数据米兔医讯 编辑:程序博客网 时间:2024/05/17 03:02
B = sort(A)
B=sort(A,dim) %沿着矩阵A中指定维数dim方向重新排列A中的元素。
[B,IX]=sort(A); %其中IX是一个大小等于size(A)的数组,其每一列是A中列向量的元素相对应的置换位置记号。
在Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可,如果排序后还需要保留原来的索引可以用返回值,即[B,ind]=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A 中项的索引。排序是安升序进行的。在Matlab中,访问矩阵中的元素,一维用A(1)访问向量A的第一个元素;(下标从1开始);二维用A(1,2)访问A中第一行,第二列的元素。
由于在sort函数的结果中,是安升序排序的,要转换成降序,先用X=eye(n)生成一个n维的单位阵,然后用X=rot90(X)将其旋转为次对角线的单位阵,再用原来矩阵乘以X即可,如要讲A逆序排列采用如下步骤:
- X=eye(size(A));
- X=rot90(X);
- A=A*X;
上述降序办法不好。
简单好用的是:A=-sortrows(-A',第几行);A=A';
假如a是一个2*n的矩阵,即两行.- b=a(1,:);
- [c,pos]=sort(b);
%pos为排序后的下标,c为第一行的排序结果 - a(2,:)=a(2,pos);
%第二行按照第一行排序的下标对应 - a(1,:)=c;
%第一行结果重新赋给a 的第一行
a = a( :, pos );
X=magic(5)
X =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> [a,b]=sort(X,2)
a =
1 8 15 17 24
5 7 14 16 23
4 6 13 20 22
3 10 12 19 21
2 9 11 18 25
b =
3 4 5 1 2
2 3 4 5 1
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
结果解释:
a是原来的矩阵x按照行,每行从小到大重新排列得到的新矩阵。
b告诉你重排的详细信息,也就是做了什么样的变动。
例如b的第一行显示3 4 5 1 2,那么将原矩阵X的第一行的第3 4 5 1 2个元素取出来,顺次排列,就变成a矩阵的第一行。
sort(X,2) 和sort(X,1)分别意思如下
举例:A = [ 3 3 5
0 4 2 ];
sort(A,1) %纵向排列
ans =
3
sort(A,2) %横向排列
ans =
0
>>A = [-1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i];
>>[B1,INDEX] = sort(A)
计算结果为:
B1 =
Columns 1 through 4
-0.2000
Columns 5 through 6
5.6000
INDEX =
2
由此可知,如果A与另一个矩阵C(char或cell)一一对应,如果用[B1,INDEX] = sort(A)对A进行排序,则可以取得索引INDEX,进而可以查询B1中每个元素与C中哪一个对应。
- matlab sort()升序和降序
- Collections.sort升序和降序笔记
- std::sort 升序 ? 降序
- javascript 升序和降序
- 降序和升序
- 升序和降序操作
- 升序和降序操作
- Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用
- java Collection.sort指定升序或降序
- sort()函数与升序、降序 C++
- mysql 中的升序和降序
- mysql 中的升序和降序
- mysql 中的升序和降序 .
- 数据库中的升序和降序
- 排序问题,升序和降序
- mysql的升序和降序
- 数据库升序和降序查询
- mysql 中的升序和降序
- poj2528 线段树 区间合并 特殊离散化
- .Net Web Api——获取客户端浏览器信息
- ZooKeeper系列之八:ZooKeeper的简单操作
- c++上机训练
- 从3个红球3个白球6个黑球中任取八个有多少种搭配
- matlab sort()升序和降序
- Linked List Cycle
- ZooKeeper系列之九:ZooKeeper API简介及编程
- 文件读写问题
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- ZooKeeper系列之十:ZooKeeper的一致性保证及Leader选举
- 如何用ATL写一个C++的COM组件(C#轻松调用C/C++接口)
- Java clone()
- 杭电oj-1164-Eddy's research I