Main Content

gt, >

确定大于

说明

示例

A > B 返回一个逻辑数组或一个由逻辑值组成的表,当 A 大于 B 时,其对应位置的元素设为逻辑值 1 (true),否则设为逻辑值 0 (false)。该测试仅比较数值数组的实部。如果 AB 包含 NaN 或未定义的 categorical 元素,则 gt 返回逻辑值 0 (false)。

gt(A,B) 是执行 A > B 的替代方法,但很少使用。它可以启用类的运算符重载。

示例

全部折叠

确定向量元素是否大于一个给定值。

创建数值向量。

A = [1 12 18 7 9 11 2 15];

测试元素的向量是否大于或等于 10

A > 10
ans = 1x8 logical array

   0   1   1   0   0   1   0   1

如果 A 的元素满足表达式,则结果是一个包含逻辑值 1 (true) 的向量。

将逻辑值的向量作为索引来查看 A 中大于 10 的值。

A(A > 10)
ans = 1×4

    12    18    11    15

结果是 A 中元素的子集。

创建一个矩阵。

A = magic(4)
A = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

将所有大于 9 的值替换为 10

A(A > 9) = 10
A = 4×4

    10     2     3    10
     5    10    10     8
     9     7     6    10
     4    10    10     1

结果是一个最大元素为 10 的新矩阵。

创建一个有序分类数组。

A = categorical({'large' 'medium' 'small'; 'medium' ...
'small' 'large'},{'small' 'medium' 'large'},'Ordinal',1)
A = 2x3 categorical
     large       medium      small 
     medium      small       large 

该数组包含三个类别:'small''medium''large'

求所有大于分类 'medium' 的值。

A > 'medium'
ans = 2x3 logical array

   1   0   0
   0   0   1

逻辑值 1 (true) 表示一个大于分类 'medium' 的值。

比较 A 的各行。

A(1,:) > A(2,:)
ans = 1x3 logical array

   1   1   0

函数返回逻辑值 1 (true),其中第一行具有一个大于第二行的分类值。

创建一个复数向量。

A = [1+i 2-2i 1+3i 1-2i 5-i];

求大于 2 的值。

A(A > 2)
ans = 5.0000 - 1.0000i

gt 仅比较 A 中元素的实部。

使用 abs 求出哪些元素在原点至 2 的半径之外。

A(abs(A) > 2)
ans = 1×4 complex

   2.0000 - 2.0000i   1.0000 + 3.0000i   1.0000 - 2.0000i   5.0000 - 1.0000i

结果有更多元素,因为 abs 涵盖了数值的虚部。

创建一个由日期组成的向量。

A = datetime([2014,05,01;2014,05,31])
A = 2x1 datetime
   01-May-2014
   31-May-2014

查找 2014 年 5 月 10 号之后的日期。

A(A > '2014-05-10')
ans = datetime
   31-May-2014

自 R2023a 开始提供

创建两个表并比较它们。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。

A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    1     3 
    R2    2     4 

B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
          V2    V1
          __    __

    R2    4     3 
    R1    2     1 

A > B
ans=2×2 table
           V1       V2  
          _____    _____

    R1    false    true 
    R2    false    false

输入参数

全部折叠

操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 AB 必须具有相同的大小或具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

您可以比较任何类型的数值输入,并且比较不会因类型转换而损失精度。

  • 如果一个输入是有序 categorical 数组,则另一个输入可以是有序 categorical 数组、字符向量元胞数组或单个字符向量。单个字符向量会扩展为与另一个输入大小相同的字符向量元胞数组。如果两个输入均为有序 categorical 数组,则必须具有相同的类别集(包括其顺序)。有关详细信息,请参阅比较分类数组元素

  • 如果一个输入是 datetime 数组,则另一个输入可以是 datetime 数组、字符向量或字符向量元胞数组。

  • 如果一个输入是 duration 数组,则另一个输入可以是 duration 数组或数值数组。该运算符将每个数值视为一个天数,其中每天是有 24 小时的标准日。

  • 如果一个输入是字符串数组,则另一个输入可以是字符串数组、字符向量或字符向量元胞数组。AB 的对应元素以字典顺序进行比较。

表或时间表形式的输入必须满足以下条件: (自 R2023a 起)

  • 如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。

  • 如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。

  • 如果两个输入均为表或时间表,则:

    • 两个输入必须具有相同的大小,或其中一个必须为单行表。

    • 两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。

    • 如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。

    • 如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration | table | timetable
复数支持:

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2006a 之前推出

全部展开