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

すべて折りたたむ

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' を返します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2020b で導入