Programming with MATLAB | ![]() ![]() |
セル配列内のデータの構造化
セル配列は、異なるサイズや種々のデータからなるデータの構造化に有効です。セル配列は、つぎのようなアプリケーションに対しては構造体よりも有効です。
1つのステートメントで複数のフィールドにアクセスする例として、データがつぎのものから成り立つと仮定します。
多くのアプリケーションに対して、このデータに対するデータ構造で最も良いものは構造体です。しかし、情報の最初の2フィールドのみをルーチン的にアクセスする場合は、インデックス付けの目的のためにはセル配列がより便利でしょう。
つぎの例は、セル配列TEST
の最初と2番目の要素へのアクセス方法を示しています。
[newdata,name] = deal(TEST{1:2})
つぎの構造体TEST
の最初と2番目の要素へのアクセス方法を示しています。
newdata = TEST.measure name = TEST.name
引数varargin
とvarargout
は、カンマで分離されたものの代わりのセル配列のユーティリティの例です。3行3列の数値配列A
を作成します。
A = [0 1 2;4 0 7;3 1 2];
A
に関数normest
(2-ノルム推定)を適用し、B
の個々のセルに関数出力を代入します。
[B{1:2}] = normest(A) B = [8.8826] [4]
関数からのすべての出力値はB
の別々のセルに格納されます。B(1)
は、ノルム推定を含み、B(2)
は繰り返し回数を含みます。
![]() |
関数と演算子の適用 | セル配列を入れ子にする | ![]() |