Programming with MATLAB    

多次元配列の作成

多次元配列の作成に、2次元行列に使った方法を使うことができます。さらに、MATLABは多次元配列の作成に有効な特殊な結合関数を提供します。

この節では、つぎのことを説明します。

インデックスを使って、配列の作成

多次元配列を作成する 1つの方法は、2次元配列を作成し、それを拡張することです。たとえば、つぎのような簡単な2次元配列 Aから始めます。

Aは3行3列の配列で、行の次元は3で、列の次元は3です。Aに3次元目を加えるために、つぎのようにします。

MATLABは、つぎのように出力します。

同様の割り当てステートメントを使って、配列に行、列、ページを追加することができます。

多次元配列の拡張   Aを任意の次元に拡張するためには、つぎのようにします。

次元全体に同じ値を与えるために、MATLABのスカラ展開機能であるコロン演算子を利用することができます。

Aを、3-3-3-2の4次元配列に展開するためには、つぎのように入力してください。

最初の2つの代入後、MATLABは対応する次元のサイズを維持するために、Aにゼロを設定することに注意してください。

関数を使って、配列の作成

2次元配列の作成方法と同じように、多次元配列を作成するために、randn, ones, zerosのようなMATLAB関数を使うことができます。ユーザが与える引数は、結果の配列に対応する次元のサイズを表わします。たとえば、一様分布の乱数の 4-3-2 の配列を作成するためには、つぎのようにします。

1つの定数値をもつ配列を作成するためには、関数repmatを使います。repmat は、配列の次元のベクトルとして(この場合、1行1列の配列として)配列を作ります。

関数catを使って、多次元配列の作成

関数cat は、多次元配列の簡単な作成法です。指定した次元について配列のリストを連結していきます。

A1, A2等は結合する配列で、dimは配列を結合する次元です。たとえば、catを使って新しい配列を作るために、つぎのようにします。

関数cat は、既存のデータと新しいデータを任意に組合わせることが可能です。さらに、cat を入れ子の形式にすることができます。たとえば、下記の行は4次元配列を作成します。

catは、必要ならば次元の間に"1"のサブスクリプトを自動的に加えます。たとえば、2-2-1-2 の配列を作成するためには、つぎのように入力します。

上記の場合では、catは最後の次元が1でない4次元配列を作成するために必要な次元を挿入します。dim引数が5ならば、上記のステートメントは 2-2-1-1-2 の配列を作成します。結果、配列を表すインデックスに1を加えます。4次元の場合の値8にアクセスするためには、つぎの表現を使ってください。


  多次元配列 多次元配列に関する情報の取得