Programming with MATLAB | ![]() ![]() |
セル配列を使って変数のリストを置き換える
セル配列は、カンマで分離したMATLAB変数のリストで置き換えることができます。
複数のセルのインデックス付けのためにコロンと中括弧表記を一緒に使った場合、MATLABは、各セルの内容を別々の変数として扱います。たとえば、各セルが別々のベクトルを含むセル配列T
があると仮定します。式T{1:5}
は、T
の最初の
5つのセルのベクトルのカンマで分離したものと等価です。
C(1) = {[1 2 3]}; C(2) = {[1 0 1]}; C(3) = {1:10}; C(4) = {[9 8 7]}; C(5) = {3};
convを使って、C(1)
とC(2)
のベクトルを畳込みます。
d = conv(C{1:2}) d = 1 2 4 2 3
C{2:4} ans = 1 0 1 ans = 1 2 3 4 5 6 7 8 9 10 ans = 9 8 7
同様に、つぎのステートメントで新しい数値配列を作成することができます。
B = [C{1}; C{2}; C{4}] B = 1 2 3 1 0 1 9 8 7
別々の出力引数を表わすセルをもつ新しいセル配列を作成するため、代入ステートメントの左辺に内容を指示するインデックスを使うこともできます。
[D{1:2}] = eig(B) D = [3x3 double] [3x3 double]
D{1}
とD{2}
を使って、実際の固有値と固有ベクトルを表示できます。
注意 引数varargin とvarargout を使って、ユーザが作成するMATLAB関数に対する可変の入出力引数の数を指定できます。varargin
とvarargout はセル配列で、様々なサイズや種類のMATLABデータをもつことができます。詳細は可変長の変数を渡すを参照してください。 |
![]() |
セル配列の削除 | 関数と演算子の適用 | ![]() |