首页 > 编程笔记 > MATLAB笔记 阅读:5

MATLAB issorted()函数的用法

在 MATLAB 中,issorted() 函数确定数组是否已排序,显示剩余的唯一值元素集合。

issorted() 函数的调用格式及说明如下表所示。

表:issorted()函数调用格式及说明
调用格式 说明
TF = issorted(A) 当 A 中的元素按升序排列时,返回逻辑标量值 TF 为 1(true);否则,将返回 0(false)
TF = issorted(A,dim) 当 A 沿维度 dim 排序时将返回 1
TF = issorted(...,direction) 当 A 按 direction 指定的顺序排序时,将返回 1。排序方向指定为以下值之一。
ascend:检查数据是否按升序排列。数据可以包含连续的重复元素
descend:检查数据是否按降序排列。数据可以包含连续的重复元素
monotonic:检查数据是否按降序或升序排列。数据可以包含连续的重复元素
strictascend:检查数据是否严格地按升序排列。数据不能包含重复元素或缺失元素
strictdescend:检查数据是否严格地按降序排列。数据不能包含重复元素或缺失元素
strictmonotonic:检查数据是否严格地按降序或升序排列。数据不能包含重复元素或缺失元素
TF = issorted(...,Name,Value) 指定用于检查排序顺序的其他参数 Name, Value
TF = issorted(A,'rows') 当矩阵第一列的元素按顺序排列时,返回 1

issorted() 函数名称-值对组参数值表如下表所示:

表:issorted() 函数名称-值对组参数值
名称 说明
MissingPlacement auto(默认)、first(缺失的元素必须放在最前面,才会返回 1)、last(缺失的元素必须放在最后,才会返回 1) 缺失值的位置
ComparisonMethod auto(默认)、real(复数的实部)、abs(绝对值) 元素比较方法

【实例 1】检查矩阵是否按升序排序。
在 MATLAB 命令行窗口中输入如下命令:
>> clear                   % 清除工作区的变量
>> A=[1,2,1,4,6,4,5,9,6];  % 定义包含一个重复值的矩阵A
>> C =issorted(A)          % 检查A是否按升序排序
C =
  logical
   0

【实例 2】向量集合运算。
在 MATLAB 命令行窗口中输入如下命令:
>> clear                    % 清除工作区的变量
>> a=1;                     % 定义变量a并赋值
>> A=[1 234 5];             % 定义两个向量A和B
>> B=[0 257 2];
>> C=union(A,B)             % 求集合A与B的并集
C =
     0     1     2     5   234   257
>> D=intersect(A,B)         % 求集合A与B的交集
D =
  空的 1×0 double 行向量
>> E = setdiff(A,B)         % 求集合差集A-B
E=
  1     5   234
>> F = setxor(A,B)          % 求A与B交集的异或值
F=
     0     1     2   5  234   257
>> ismember(a,A)            % 判断a是否属于A
ans =
  logical
   1
>> issorted(A)              % 判断向量是否按升序排列
ans =
  logical
   0

相关文章