MATLAB sort函数应用——求一个矩阵前L个最大值及其在矩阵中的位置
2014-03-06 09:22
351 查看
For vectors, sort(X) sorts the elements of X in ascending order.
For matrices, sort(X) sorts each column of X in ascending order.
For N-D arrays, sort(X) sorts the along the first non-singleton dimension of X. When X is a cell array of strings, sort(X) sorts the strings in ASCII dictionary order.
对于一个矩阵X,[M,N]=sort(X)返回矩阵每一列排序后的结果及每个排序后元素在原矩阵中列的位置。
dist_measured =
0 1.0000 1.7321 2.0000 1.7321 1.0000 1.0000
0 0 1.0000 1.7321 2.0000 1.7321 1.0000
0 0 0 1.0000 1.7321 2.0000 1.0000
0 0 0 0 1.0000 1.7321 1.0000
0 0 0 0 0 1.0000 1.0000
0 0 0 0 0 0 0
[x y]=sort(dist_measured)
x =
0 0 0 0 0 0 0
0 0 0 0 0 1.0000 1.0000
0 0 0 0 1.0000 1.0000 1.0000
0 0 0 1.0000 1.7321 1.7321 1.0000
0 0 1.0000 1.7321 1.7321 1.7321 1.0000
0 1.0000 1.7321 2.0000 2.0000 2.0000 1.0000
y =
1 2 3 4 5 6 6
2 3 4 5 6 1 1
3 4 5 6 4 5 2
4 5 6 3 1 2 3
5 6 2 2 3 4 4
6 1 1 1 2 3 5
由此可见直接求最大点坐标不合适,(find函数只会返回某一个值得坐标)
因此可用如下方法[x,y]=sort(dist_measured(:)),该方法返回dist_measured矩阵的向量形式并且排序,这样可得出最大的前L个值及其在向量中的位置,经过转换可求得在原矩阵中的坐标
For matrices, sort(X) sorts each column of X in ascending order.
For N-D arrays, sort(X) sorts the along the first non-singleton dimension of X. When X is a cell array of strings, sort(X) sorts the strings in ASCII dictionary order.
对于一个矩阵X,[M,N]=sort(X)返回矩阵每一列排序后的结果及每个排序后元素在原矩阵中列的位置。
dist_measured =
0 1.0000 1.7321 2.0000 1.7321 1.0000 1.0000
0 0 1.0000 1.7321 2.0000 1.7321 1.0000
0 0 0 1.0000 1.7321 2.0000 1.0000
0 0 0 0 1.0000 1.7321 1.0000
0 0 0 0 0 1.0000 1.0000
0 0 0 0 0 0 0
[x y]=sort(dist_measured)
x =
0 0 0 0 0 0 0
0 0 0 0 0 1.0000 1.0000
0 0 0 0 1.0000 1.0000 1.0000
0 0 0 1.0000 1.7321 1.7321 1.0000
0 0 1.0000 1.7321 1.7321 1.7321 1.0000
0 1.0000 1.7321 2.0000 2.0000 2.0000 1.0000
y =
1 2 3 4 5 6 6
2 3 4 5 6 1 1
3 4 5 6 4 5 2
4 5 6 3 1 2 3
5 6 2 2 3 4 4
6 1 1 1 2 3 5
由此可见直接求最大点坐标不合适,(find函数只会返回某一个值得坐标)
因此可用如下方法[x,y]=sort(dist_measured(:)),该方法返回dist_measured矩阵的向量形式并且排序,这样可得出最大的前L个值及其在向量中的位置,经过转换可求得在原矩阵中的坐标
相关文章推荐
- matlab中求一个矩阵的最大值及其所在位置
- 求一个数组中所有元素的最大值及其索引位置
- 字典树(Trie、prefix tree)及其应用(求一个数组中的最大异或值)
- 用matlab寻找一个信号中频率最强最大的哪一点位置
- MATLAB中求矩阵中最大值所在的位置
- 求出一个矩阵中的最大值和位置
- 华为机考 给你一个N*M的矩阵,每个位置的值是0或1,求一个面积最大的子矩阵,这个矩阵必须是一个正方形,且里面只能由1构成,输出最大的正方形边长。其中n,m<=400;
- matlab 求一个矩阵的最小值最大值
- Matlab找矩阵中最大最小值的位置
- 求一个3x4矩阵中最大元素的位置
- 用c语言求取一个矩阵的最大值及其下标
- 微软算法100道题------求一个矩阵中最大的二维矩阵(元素和最大)
- 算法习题45:对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一;;;一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
- MATLAB入门学习笔记(二)矩阵理论的应用——线性方程组的解法
- [转]矩阵奇异值分解(SVD)及其应用
- 华为:给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数。。 .
- matlab_一个关于矩阵运算的易混淆的点
- 找出一个二维数组中的鞍点 即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
- 贝叶斯分类器的一个简单应用(matlab)
- matlab,可视化稀疏矩阵的数据结构(即非零元位于哪些位置)