MATLAB で変数タイプをチェックする
 
このチュートリアルでは、MATLAB の class() 関数と whos 関数を使用して、特定の変数の型を確認する方法について説明します。
MATLAB の class() 関数を使用して変数の型を確認する
    
MATLAB では、型を使用して変数を定義しません。代わりに、必要なデータを変数に格納します。したがって、コードのある時点で変数の型を確認したい場合は、class() 関数を使用して変数の型を確認できます。たとえば、変数に値を格納してから、そのクラスを確認してみましょう。以下のコードを参照してください。
a = 123;
b = 'Hello';
type_of_a = class(a)
type_of_b = class(b)
出力:
type_of_a =
double
type_of_b =
char
上記のコードでは、a と b の 2つの変数を定義し、class() 関数を使用してそれらの型をチェックしています。出力からわかるように、変数 a の型は double であり、変数 b の型は char です。変数が定義されているか、ワークスペースに格納されている限り、変数のタイプを確認できます。
MATLAB の whos 関数を使用して変数の型を確認する
現在 MATLAB のワークスペースにあるすべての変数の型を確認する場合は、whos() 関数を使用して変数の型を確認できます。たとえば、変数に値を格納してから、そのクラスを確認してみましょう。以下のコードを参照してください。
a = 123;
b = 'Hello';
whos
出力:
  Name      Size            Bytes  Class     Attributes
  a         1x1                 8  double              
  b         1x5                10  char                
whos 関数は、現在ワークスペースに格納されている各変数のクラスをチェックします。1つの変数のみのクラスまたはタイプを確認する場合は、以下に示すように、whos 関数の後に変数名を記述します。
a = 123;
whos a
上記のコードでは、whos は変数 a のクラスのみを提供します。
MATLAB で変数が特定の型であるかどうかを確認する
特定の変数が必要なクラスまたはタイプであることを確認する場合は、その特定のタイプの関数を使用できます。たとえば、変数のタイプが char であるかどうかを確認するには、ischar() 関数を使用できます。この関数は、変数に応じて 0 または 1 を返します。変数のタイプが char の場合、ischar() 関数は 1 を返します。それ以外の場合は、0 を返します。以下のサンプルコードを参照してください。
a = 'Hello';
ischar(a)
出力:
ans =
     1
上記のコードでは、変数 a がタイプ char であるかどうかを確認しました。出力からわかるように、変数 a のタイプは char です。iscell() 関数などの他の型チェック関数を使用して、変数の型が cell であるかどうかをチェックすることもできます。isinteger() 関数を使用して、変数のタイプが int であるかどうかを確認できます。isfloat() 関数を使用して、変数のタイプが float であるかどうか、およびその他の多くの関数を確認できます。これらの関数は、if ステートメントのような条件で使用できます。たとえば、変数が char 型であるかどうかを確認したいとします。変数のタイプが char の場合、メッセージを表示します。それ以外の場合は表示しません。
a = 'Hello World';
if ischar(a)
    disp(a)
end
出力:
Hello World
