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}