Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

underlyingType

配列の動作を決定する基となるデータの型

説明

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 配列のように動作します。

すべて折りたたむ

underlyingType および class を使用して、いくつかの変数のデータ型をテストします。

データ型 single をもつ数値変数を作成し、クラスと基となるデータ型をクエリします。

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

    'single'
underlyingType(x)
ans =

    'single'

xsingledouble、または string のような基本データ型である場合、class(x)underlyingType(x) は同じ答えを返します。

次に、2 つの変数をもつ table を作成し、クラスと基となるデータ型をクエリします。

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

    'table'
underlyingType(x)
ans =

    'table'

xtabletimetable、または cell のようなコンテナー データ型である場合、コマンド class(x)underlyingType(x) はやはり同じ答えを返します。これは、コンテナー データ型が基となるデータ型に基づいて動作を変えることがないためです。

ここで、gpuArray を作成 (Parallel Computing Toolbox™ が必要) し、クラスと基となるデータ型をクエリします。

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

    'gpuArray'
underlyingType(x)
ans =

    'double'

x が、gpuArraydlarray、または distributed のような、変数がどのように動作するかを変更する基となるデータ型をもつクラスに属している場合、コマンド class(x)underlyingType(x) は異なる答えを返します。この場合、class(x) は変数のクラスの名前を返しますが、underlyingType(x) は基となるデータのデータ型の名前を返します。

入力引数

すべて折りたたむ

入力配列またはオブジェクト。変数または式として指定します。

例: gpuArray には基となるデータ型 double が含まれるため、underlyingType(gpuArray(double(1)))'double' を返します。

拡張機能

R2020b で導入