underlyingType

Тип базовых данных, определяющих поведение массивов

Описание

пример

typename = underlyingType(X) возвращает имя базового MATLAB® тип данных, который определяет как массив X ведет себя. typename возвращен как вектор символов.

class функция полезна, чтобы определить класс переменной. Для большинства классов, underlyingType(X) и class(X) дайте тот же ответ. Однако некоторые классы в MATLAB могут содержать базовые данные, которые имеют другой тип по сравнению с какой class возвращается. Классы в качестве примера включают gpuArray (Parallel Computing Toolbox), dlarray (Deep Learning Toolbox), и distributed (Parallel Computing Toolbox). Поведение этих классов определяется типом базовых данных, которые они содержат. Например, distributed массив, содержащий double значения ведут себя как double массив.

Примеры

свернуть все

Использование underlyingType и class протестировать типы данных нескольких переменных.

Создайте числовую переменную, которая имеет тип данных single и затем запросите тип класса и базовый тип данных.

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

    'single'
underlyingType(x)
ans =

    'single'

Когда x основополагающий тип данных, такой как single'double', или string, оба class(x) и underlyingType(x) дайте тот же ответ.

Затем создайте table с двумя переменными и затем запрашивают тип класса и базовый тип данных.

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

    'table'
underlyingType(x)
ans =

    'table'

Когда x контейнерный тип данных, такой как tableрасписание, или cell, команды class(x) и underlyingType(x) все еще дайте тот же ответ. Это вызвано тем, что контейнерные типы данных не изменяют свое поведение на основе базового типа данных.

Теперь создайте gpuArray (требует Parallel Computing Toolbox™), и затем запросите тип класса и базовый тип данных.

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

    'gpuArray'
underlyingType(x)
ans =

    'double'

Когда x принадлежит классу, который может иметь базовые данные, которые изменяются, как переменная ведет себя, такие как gpuArray, dlarray, или distributed, команды class(x) и underlyingType(x) дайте различные ответы. В этом случае, class(x) возвращает имя класса для переменной, в то время как underlyingType(x) возвращает имя типа данных для базовых данных.

Входные параметры

свернуть все

Входной массив или объект в виде переменной или выражения.

Пример: underlyingType(gpuArray(double(1))) возвращает 'double' начиная с gpuArray содержит базовые данные типа double.

Расширенные возможности

Введенный в R2020b