-
Matlab 对向量中元素进行排序,返回对应的排序后的序号
2020-05-06 11:20:23求向量A中的元素对应的由小到大排序后的序号,查百度得到的解决方案为: [B,I] = sort(A); [~,II] = sort(I); sort用法自行查,上述程序得到的II即为所求的序号向量 这个实现过程很简单,但我理解起来总感觉...求向量A中的元素对应的由小到大排序后的序号,查百度得到的解决方案为:
[B,I] = sort(A); [~,II] = sort(I);
sort用法自行查,上述程序得到的II即为所求的序号向量
这个实现过程很简单,但我理解起来总感觉要点绕,接下来就在这里简单的梳理一下思路
求A中元素对应的排序后的序号 → A中元素对应在B中的位置 → A中的序号对应B中序号的位置
在理解这个之前,先将向量元素和其对应的序号看成一个整体,在排序过程中原向量的元素和序号对应关系不变,则上面程序可以表示为
举个具体例子:假设A = [5 8 1 3 2]
得到的[4 5 1 3 2]对应的即为所求序号向量
-
matlab开发-排序特征向量初始值
2019-08-24 16:50:35matlab开发-排序特征向量初始值。对一组特征向量及其特征值进行排序 -
Matlab与数据结构 -- 对向量的排序
2016-11-18 10:40:45 -
Matlab中向量的交集、并集、差集等集合运算
2017-12-30 19:31:04学习Matlab一定要查看help文档啊啊啊 一、集合运算的函数如下: intersect(A, B):集合交集,A和B均为向量 union(A, B) :集合并集 setdiff(A, B) :集合A减...sort(A):对向量进行排序 issorted(A):判断集合是否有序学习Matlab一定要查看help文档啊啊啊
一、集合运算的函数如下:
- intersect(A, B):集合交集,A和B均为向量
- union(A, B) :集合并集
- setdiff(A, B) :集合A减集合B的差集(如果集合A中的元素都在B中存在,则结果为空)
- ismember(a, A) :判断是否是集合中的元素
- sort(A):对向量进行排序
- issorted(A):判断集合是否有序
- setxor :集合异或(在并集但不在交集中的元素)
- unique :返回集合的不重复元素(去掉相同元素)
二、举例如下:
A = [1,2,3,4,5,6]; B = [1,2,3,7,8,9]; C = [1,2,3,6,5,4,7,8,9]; D = [1,1,2,2,3,3] intersect(A,B); % ans = [1,2,3] union(A,B); % ans = [1,2,3,4,5,6,7,8,9] setdiff(A,B) % ans = [4,5,6] setdiff(A,C) % ans = Empty matrix: 1-by-0 ismember(1,A); % ans = 1 sort(C); % ans = [1,2,3,4,5,6,7,8,9] issorted(A); % ans = 1 setxor(A,B); % ans = [4,5,6,7,8,9] unique(D); % ans = [1,2,3]
参考资料:
1.Matlab的集合运算
2.Matlab集合运算符示例-易百教程 -
matlab 特征向量随着特征值的大小从大到小排列
2020-02-26 22:34:03转换完之后对向量进行逆序排列,我看到有同学硬是写了一个冒泡排序来完成这个工作,你的数据结构老师一定非常欣慰。但是在 MATLAB 里不用从头开始,直接调用sort()函数就行了~但是在这里还有更简单的方法,wrev()...其实 MATLAB 内置的函数就有diag()可以将一个对角矩阵转化为一个向量,也可以将一个向量转化为一个对角矩阵。转换完之后对向量进行逆序排列,我看到有同学硬是写了一个冒泡排序来完成这个工作,你的数据结构老师一定非常欣慰。但是在 MATLAB 里不用从头开始,直接调用sort()函数就行了~但是在这里还有更简单的方法,wrev()函数就可以将一个向量逆序排列,fliplr()函数可以将一个矩阵左右镜像对称,所以如果想得到从大到小排列的特征值,只要这样就行了:
% 得到从大到小排列的特征值
[V, D] = eig(A);
lambda = wrev(diag(D));
V = fliplr(V);例子:
clear all;clc;close all; A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92]; B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35]; C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53]; D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94]; E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51]; q=[A',B',C',D',E']; w=cov(q); % 得到从大到小排列的特征值 [V, D] = eig(w); lambda = wrev(diag(D)); V1 = fliplr(V)
转载:https://blog.csdn.net/robertchenguangzhi/article/details/40747285
-
matlab:对一个向量进行排序,返回每一个数据的rank 序号 。。。
2019-10-05 14:29:17利用 matlab sort 函数,就可以了,如: >> X = [3 7 5 0 4 2 ]; >> [y, index] = sort(X) y = 0 2 3 4 5 7 index = 4 6 1 5 3 2 转载于:... -
java 调用matlab rank_matlab:对一个向量进行排序,返回每一个数据的rank 序号 。。。...
2021-03-21 10:45:56%% Rank the entropy_loss % for iiii = 1:size(Group_age, 1) % count_1... 利用 matlab sort 函数,就可以了,如: >> X = [3 7 5 0 4 2 ]; >> [y, index] = sort(X) y = 0 2 3 4 5 7 index = 4 6 1 5 3 2 -
c++排序函数对二维数组排序_MATLAB中对cell数组排序
2020-11-28 07:17:16近期在干啥差不多有24天没写推...MATLAB中,如何对cell数组排序?问题背景如下图所示,我有一个 1 * n 的cell数组,这个cell的每一个元素是一个 1 *2 的向量,表示一个坐标点(x, y):现在要根据坐标的 x 值对这个 ce... -
matlab排序
2011-12-19 14:30:47matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [sA,index] = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引... -
matlab中sort_MATLAB中对cell数组排序
2021-01-18 16:48:29近期在干啥差不多有24天没写推...MATLAB中,如何对cell数组排序?问题背景如下图所示,我有一个 1 * n 的cell数组,这个cell的每一个元素是一个 1 *2 的向量,表示一个坐标点(x, y):现在要根据坐标的 x 值对这个 ce... -
matlab 实现排序
2020-08-10 11:00:52展示部分代码,b是一个列向量,以下代码实现的是对H矩阵中b所在的位置的值进行排序。在根据得到的索引值对b进行排序,用于我之后的数据引用。 [paixu,suoyi] = sort(H(b),'ascend'); b=b(suoyi); b = fliplr(b); ... -
MATLAB排序函数
2016-04-11 15:17:58Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [sA,index] = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 ... -
MATLAB中的排序函数
2013-09-15 08:12:53全英文帮助没看懂。...sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,'descend')是降序排序。 sort(A)若A是矩阵,默认对A的各列进行升序排列 sort -
MATLAB中排序函数sort()的用法
2019-03-31 15:47:02MATLAB中排序函数sort()可以对参数的元素进行升序排序或降序排序。 具体的用法如下: Y=sort(X) sort()的参数可以是向量,矩阵,数组等等。当X是向量时,sort(X)对X的元素进行升序排序;当X是矩阵时,sort(X)对... -
matlab排序函数
2016-07-05 16:36:04sort(X) 功能:返回对向量X中的元素按列升序排列的新向量。 [Y, I] = sort(A, dim, mode) 功能:对矩阵A的各列或各行重新排序,I记录Y中的元素在排序前A中位置,其中dim指明读A的列还是行进行排序。若dim=1,... -
Matlab排序函数
2014-01-06 01:18:55Matlab自带排序函数sort用法 [Y,I] = sort(X,DIM,MODE) sort函数默认Mode为'ascend'为升序,sort(X,'descend')为降序排列。 sort(X)若X是矩阵,默认对X的各列进行升序排列 ...Matlab中给一维向量排序是使用sort -
利用标准库std::sort()对Eigen库的向量进行排序
2018-10-25 17:44:10但是,我找了很久没有类似于Matlab的sort函数那样对向量进行排序函数,于是写了一个函数来实现这个功能。 #include<iostream> #include&... -
Matlab的排序函数-sort
2014-11-23 16:12:07sort(X) 功能:返回对向量X中的元素按列升序排列的新向量。 [Y, I] = sort(A, dim, mode) 功能:对矩阵A的各列或各行重新排序,I记录Y中的元素在排序前A中位置,其中dim指明读A的列还是行进行排序。若dim=1,...
收藏数
96
精华内容
38