6.1.5 構造体内のデータの処理
構造体内のデータを処理する最も簡単な方法は、for ループを使用することです ( 「構造体要素のループstructfun」を参照)。同様の効果は、ユーザー定義関数を構造体の各フィールドに適用する関数でも実現できます。structfunを参照してください。
あるいは、構造体内のデータを処理するために、構造体は処理される前に別のタイプのコンテナーに変換されることがあります。
: c = struct2cell (s)
構造体オブジェクトに格納されているオブジェクトから新しいセル配列を作成します。
fが構造体内のフィールド数である 場合、結果のセル配列には に対応する次元ベクトルが含まれます。例: [f size(s)]
s = struct ("name", {"Peter", "Hannah", "Robert"},
"age", {23, 16, 3});
c = struct2cell (s)
⇒ c = {2x1x3 Cell Array}
c(1,1,:)(:)
⇒
{
[1,1] = Peter
[2,1] = Hannah
[3,1] = Robert
}
c(2,1,:)(:)
⇒
{
[1,1] = 23
[2,1] = 16
[3,1] = 3
}
See also: cell2struct, namedargs2cell, fieldnames.
: c = namedargs2cell (s)
スカラー構造からフィールド名/値のペアのセル配列を作成します。
例:
s.Name = "Peter";
s.Height = 185;
s.Age = 42;
c = namedargs2cell (s)
⇒ { "Name", "Peter", "Height", 185, "Age", 42 }
See also: struct2cell.