Main Content

isfield

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

説明

field が構造体配列 S のフィールド名である場合、TF = isfield(S,field)1 を返します。その他の場合は 0 を返します。

field が複数の名前を含む配列であり、S が構造体配列である場合、TF は同じサイズをもつ logical 配列です。

S が構造体配列でない場合、isfield0 を返します。

すべて折りたたむ

構造体を作成します。

S.x = linspace(0,2*pi);
S.y = sin(S.x);
S.title = 'y = sin(x)'
S = struct with fields:
        x: [0 0.0635 0.1269 0.1904 0.2539 0.3173 0.3808 0.4443 0.5077 ... ]
        y: [0 0.0634 0.1266 0.1893 0.2511 0.3120 0.3717 0.4298 0.4862 ... ]
    title: 'y = sin(x)'

'title'S のフィールド名であるか判別します。

TF = isfield(S,'title')
TF = logical
   1

複数の名前を cell 配列または string 配列に指定することで、それらを関数 isfield の 1 回の呼び出しでテストすることができます。

field = {'x','y','z','title','error'};
TF = isfield(S,field)
TF = 1x5 logical array

   1   1   0   1   0

入力引数

すべて折りたたむ

構造体配列。

可能なフィールド名。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。

ヒント

  • 入力引数 S がオブジェクトである場合、field がプロパティの名前であっても、isfield は常に 0 を返します。

    名前がオブジェクトのプロパティ名であるかどうかを判別するには、関数 isprop を使用します。

拡張機能

バージョン履歴

R2006a より前に導入