6.3.5 Processing Data in Cell Arrays

Last-modified: 2025-03-21 (金) 21:16:12

6.3.5 セル配列内のデータの処理

セル配列に格納されたデータは、実際のデータに応じていくつかの方法で処理できます。そのデータを処理する最も簡単な方法は、1 つ以上のループを使用してデータを反復処理することです。同じ考え方は 、セル配列のすべての要素に対してユーザー指定の関数を呼び出す関数forを使用することで、より簡単に実装できます。cellfunを参照してください。 cellfun

別の方法としては、データをマトリックスやデータ構造などの別のコンテナーに変換することです。データによっては、関数cell2matとcell2struct関数を使用してこれが可能です。

: m = cell2mat (c)

cのすべての要素を超長方形に 連結して、セル配列cを行列に変換します。

cの要素は、数値、論理、または文字の行列、またはセル配列、または構造体である必要があり、catそれらを連結できる必要があります。

See also: mat2cell, num2cell.

: S = cell2struct (cell, fields)

: S = cell2struct (cell, fields, dim)

セルを構造体に 変換します。

fields内のフィールドの数は、次元dimに沿ったcell内の要素の数 、つまり と 一致する必要があります。dim が省略されている場合は、 値 1 が想定されます。 numel (fields) == size (cell, dim)

S = cell2struct ({"Peter", "Hannah", "Robert";
                  185, 170, 168},
                {"Name","Height"}, 1);
S(1)
  ⇒
     {
       Name   = Peter
       Height = 185
     }

See also: struct2cell, cell2mat, struct.