Main Content

struct2cell

構造体を cell 配列に変換

説明

C = struct2cell(S) は構造体を cell 配列に変換します。cell 配列 C には、S のフィールドからコピーされた値が含まれます。

関数 struct2cell はフィールド名を返しません。cell 配列でフィールド名を返すには、関数 fieldnames を使用します。

すべて折りたたむ

構造体を作成します。

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)'

S を cell 配列に変換します。

C = struct2cell(S)
C=3×1 cell array
    {[0 0.0635 0.1269 0.1904 0.2539 0.3173 0.3808 0.4443 0.5077 0.5712 ... ]}
    {[0 0.0634 0.1266 0.1893 0.2511 0.3120 0.3717 0.4298 0.4862 0.5406 ... ]}
    {'y = sin(x)'                                                           }

cell 配列にはフィールド名は含まれません。cell 配列でフィールド名を返すには、関数 fieldnames を使用します。fieldnamesstruct2cell はフィールド名と値を同じ順序で返します。

fields = fieldnames(S)
fields = 3x1 cell
    {'x'    }
    {'y'    }
    {'title'}

入力引数

すべて折りたたむ

入力構造体配列。S は任意のサイズの構造体配列にすることができます。S が、p 個のフィールドをもつ mn 列の構造体配列の場合、Cp x m x n の cell 配列になります。

拡張機能

バージョン履歴

R2006a より前に導入