Getting Started | ![]() ![]() |
セル配列
MATLABのセル配列は、多次元配列で、その要素は他の配列のコピーです。空行列のセル配列は、関数
cell
で作成できます。しかし、非常に頻繁にセル配列は、中括弧
{}
を使って様々なものを囲むことによって作成されます。中括弧は、種々のセルの内容にアクセスするためのサブスクリプトと共に使われることもあります。たとえば、
C = {A sum(A) prod(prod(A))}
は、1行3列のセル配列を作成します。3つのセルは、魔方陣、列方向の和を表わす行ベクトル、すべての要素の積から構成されています。C
を表示すると、つぎのようになります。
C = [4x4 double] [1x4 double] [20922789888000]
これは、最初の2つのセルは、スペースの関係で出力するには大きすぎるためです。しかし、3番目のセルは1つの数値16! なので、出力されています。
覚えておく必要のある2つの重要なことがあります。まず、セルの中の個々の内容を取り出すには、サブスクリプトを中括弧で囲んで使います。たとえば、
C{1}
は魔方陣で、 C{3}
は 16! です。2番目に、セル配列は、他の配列のコピー
を含み、他の配列へのポインタではありません。その後 A
を変更しても C は何も変更されません。
3次元配列は、同じ 大きさの一連の行列を格納するときに使うことができます。セル配列は、異なる大きさの一連の行列を格納するためにも使うことができます。たとえば、
M = cell(8,1); for n = 1:8 M{n} = magic(n); end M
は、異なる次数の一連の魔方陣を作成します。
M = [ 1] [ 2x2 double] [ 3x3 double] [ 4x4 double] [ 5x5 double] [ 6x6 double] [ 7x7 double] [ 8x8 double]
今まで使ってきた馴染みのある魔方陣も取り出すことができます。
M{4}
![]() |
多次元配列 | キャラクタとテキスト | ![]() |