Main Content

underlyingType

确定数组行为的基础数据的类型

自 R2020b 起

说明

示例

typename = underlyingType(X) 返回确定数组 X 行为的 MATLAB® 基础数据类型的名称。typename 以字符向量形式返回。

class 函数可用于确定变量的类。对于大多数类,underlyingType(X)class(X) 返回相同的结果。但是,MATLAB 中某些类包含的基础数据的类型可能与 class 返回的类型不同。例如,这样的类包括 gpuArray (Parallel Computing Toolbox)dlarray (Deep Learning Toolbox)distributed (Parallel Computing Toolbox)。这些类的行为由它们包含的基础数据的类型确定。例如,包含 double 值的 distributed 数组的行为类似于 double 数组。

示例

全部折叠

使用 underlyingTypeclass 测试几个变量的数据类型。

创建一个数据类型为 single 的数值变量,然后查询其类和基础数据类型。

x = single(5);
class(x)
ans =

    'single'
underlyingType(x)
ans =

    'single'

x 是基本数据类型(如 singledoublestring)时,class(x)underlyingType(x) 返回相同的结果。

接下来,创建一个包含两个变量的 table,然后查询其类和基础数据类型。

x = table([1; 2; 3],["a"; "b"; "c"]);
class(x)
ans =

    'table'
underlyingType(x)
ans =

    'table'

x 是容器数据类型(如 tabletimetablecell)时,命令 class(x)underlyingType(x) 仍然返回相同的结果。这是因为容器数据类型不会根据基础数据类型更改其行为。

现在,创建一个 gpuArray(需要 Parallel Computing Toolbox™),然后查询其类和基础数据类型。

x = gpuArray(1:10);
class(x)
ans =

    'gpuArray'
underlyingType(x)
ans =

    'double'

x 所属的类可以包含能更改变量行为的基础数据(如 gpuArraydlarraydistributed)时,命令 class(x)underlyingType(x) 将返回不同的结果。在这种情况下,class(x) 返回变量所属类的名称,而 underlyingType(x) 返回基础数据的数据类型名称。

输入参数

全部折叠

输入数组或对象,指定为变量或表达式。

示例: underlyingType(gpuArray(double(1))) 返回 'double',因为 gpuArray 包含 double 类型的基础数据。

扩展功能

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

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

版本历史记录

在 R2020b 中推出