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). Поведение этих классов определяется типом базовых данных, которые они содержат. Для примера, a 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, timetable, или 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