Main Content

cell 配列の作成

cell 配列には、さまざまな型とサイズのデータを格納できます。以前は、cell 配列は、テキストやさまざまな種類の表形式データ (スプレッドシートのデータなど) に対して推奨されていました。現在は、string配列を使用してテキスト データを格納したり、tableを使用して表形式データを格納したりします。cell 配列は、配列内の位置によって最適に参照される異種混合データに使用します。

cell 配列は 2 つの方法で作成できます。1 つは {} 演算子を使用する方法、もう 1 つは関数 cell を使用する方法です。

cell 配列に入れるデータがある場合は、cell 配列構成演算子 {} を使用します。

C = {1,2,3;
    'text',rand(5,10,2),{11; 22; 33}}
C=2×3 cell array
    {[   1]}    {[          2]}    {[     3]}
    {'text'}    {5x10x2 double}    {3x1 cell}

すべての MATLAB® 配列と同様に、cell 配列は長方形で、行ごとに同数の cell をもちます。C は 2 行 3 列の cell 配列です。

また、{} 演算子を使用して、空の 0 行 0 列の cell 配列を作成することもできます。

C2 = {}
C2 =

  0x0 empty cell array

時間の経過またはループで値を cell 配列に追加する場合は、まず関数 cell を使用して空の配列を作成します。この方法では、cell 配列ヘッダーにメモリが事前に割り当てられます。各 cell は空配列 ([]) を含んでいます。

C3 = cell(3,4)
C3=3×4 cell array
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {0x0 double}    {0x0 double}

特定の cell の読み取りまたは書き込みを行うには、インデックスを中かっこで囲みます。たとえば、C3 にランダム データの配列を入れます。cell 配列内の位置に基づいて配列のサイズを変更します。

for row = 1:3
   for col = 1:4
      C3{row,col} = rand(row*10,col*10);
   end
end
C3
C3=3×4 cell array
    {10x10 double}    {10x20 double}    {10x30 double}    {10x40 double}
    {20x10 double}    {20x20 double}    {20x30 double}    {20x40 double}
    {30x10 double}    {30x20 double}    {30x30 double}    {30x40 double}

参考

関連するトピック