matlab中的sort函数
来源:互联网 发布:js调用android的方法 编辑:程序博客网 时间:2024/06/10 13:44
在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是一个2*n的矩阵,即两行.
b=a(1,:);
[c,pos]=sort(b); %pos为排序后的下标,c为第一行的排序结果
a(2,:)=a(2,pos); %第二行按照第一行排序的下标对应
a(1,:)=c; %第一行结果重新赋给a 的第一行
复制代码
以下适用于m*n的矩阵按第一行排序
[ b, pos ] = sort( a( 1, : ) );
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)分别意思如下
x =
3 7 5
0 4 2
sort(x,2)
ans =
3 5 7
0 2 4
按行重新排列原来的矩阵,从小到大
sort(x,1)
ans =
0 4 2
3 7 5
按列重新排列原来的矩阵,从小到大
在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是一个2*n的矩阵,即两行.
b=a(1,:);
[c,pos]=sort(b); %pos为排序后的下标,c为第一行的排序结果
a(2,:)=a(2,pos); %第二行按照第一行排序的下标对应
a(1,:)=c; %第一行结果重新赋给a 的第一行
复制代码
以下适用于m*n的矩阵按第一行排序
[ b, pos ] = sort( a( 1, : ) );
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)分别意思如下
x =
3 7 5
0 4 2
sort(x,2)
ans =
3 5 7
0 2 4
按行重新排列原来的矩阵,从小到大
sort(x,1)
ans =
0 4 2
3 7 5
按列重新排列原来的矩阵,从小到大
0 0
- matlab中的sort函数
- matlab中的sort函数 .
- matlab中的sort函数
- MATLAB中的sort函数
- matlab中的sort函数
- matlab中的sort函数
- MATLAB中的sort函数
- matlab中的sort函数详解
- matlab sort函数
- MATLAB中的sort用法
- Matlab中的几个随机函数-randperm,sort,rand,randint
- Matlab中的几个随机函数-randperm,sort,rand,randint
- MatLab的排序函数-sort .
- Matlab的排序函数-sort
- matlab中 sort 函数用法
- matlab中 sort 函数用法
- matlab sort 函数的使用
- c++中的sort 函数
- Excel Sheet Column Number
- java环境变量配置
- MVC 通过BundleConfig 将JS和CSS文件引入到视图中
- 广义线性模型分类
- 开户自动旋转在某应用中横屏后关闭自动旋转,该应用不会自动恢复到竖屏,
- matlab中的sort函数
- 19. Remove Nth Node From End of List
- Spark算子篇-combineByKey实战
- FragmentTabHost的使用--仿微信首页搭建
- 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?
- Python中@property的粗略理解
- 阿里面试题总结
- 【天梯赛-练习题】L2-007 家庭房产
- Objective C类方法load和initialize的区别