ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

isfield

入力が構造体配列フィールドかどうかを判別

構文

tf = isfield(S, 'fieldname')
tf = isfield(S, C)

説明

tf = isfield(S, 'fieldname') は、引用符を使用した文字列 'fieldname' で指定されるフィールドが構造体 S に含まれているかどうかを検証します。S にフィールドが含まれている場合、出力 tf は論理値 1 (true) に設定され、含まれていない場合は論理値 0 (false) に設定されます。S が構造体配列でない場合、関数 isfieldfalse を返します。

tf = isfield(S, C) は、文字列 C のセル配列で指定されているように、複数のフィールド名を使用して構造体 S を検証して、これらのどのフィールドが構造体の一部であるかを示す論理値の配列を返します。出力配列 tf の要素は、C の対応する要素に構造体 S に属するフィールド名が含まれる場合、論理値 1 (true) に設定されます。その他の場合、論理値 0 (false) がその要素に返されます。つまり、構造体 SC{m,n} で指定されたフィールドが含まれる場合、関数 isfield は論理値 1 (true) を tf(m,n) に返します。

    メモ:   field または fieldnames 入力が空の場合、関数 isfield は、false を返します。

例 1 — 単一フィールド名の構文

以下の MATLAB® 構造体の場合、

patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];

関数 isfield は、billing をその構造体のフィールドとして識別します。

isfield(patient,'billing')
ans =
     1

例 2 — 複数フィールド名の構文

4 つの可能なフィールド名が含まれるか構造体 S をチェックします。最初のフィールドが見つかると、戻り値の最初の要素が true に設定されます。

S = struct('one', 1, 'two', 2);

fields = isfield(S, {'two', 'pi', 'One', 3.14})
fields =
     1     0     0     0

参考

| | | | | | | | |

この情報は役に立ちましたか?