exponenta event banner

underlyingType

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

Синтаксис

Описание

пример

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

class функция полезна для определения класса переменной. Для большинства классов, underlyingType(X) и class(X) верните тот же ответ. Однако некоторые классы в MATLAB могут содержать базовые данные, которые имеют другой тип по сравнению с class возвращает. Примеры классов включают gpuArray(Панель инструментов параллельных вычислений), dlarray (инструментарий глубокого обучения), и distributed(Панель инструментов параллельных вычислений). Поведение этих классов определяется типом содержащихся в них базовых данных. Например, 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 (требуется 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