行列
 
 
 

行列とは、浮動小数点数の 2 次元テーブルです。

行列を宣言するには、matrix キーワードと変数名を使用し、その後に行列の行と列の番号を付記します。

matrix $a3[2][3];

この文では、2 行 3 列の行列が作成され、変数 $a3 に代入されます。行列の各要素の初期値は 0 です。

配列とは異なり、行列を作成する際にはそのサイズを指定する必要があります。

matrix $a2[][]; // ERROR: Size not specified

リテラル表現

行列のリテラル表現は、値をカンマで区切って並べて行を表し、各行はセミコロンで区切ります。また、値は << と >> で囲みます。

matrix $a3[3][4] = <<2.5, 4.5, 3.25, 8.05;
 1.12, 1.3, 9.5, 5.2;
 7.23, 6.006, 2.34, 4.67>>

代入するリテラル表現の行列が指定したサイズと異なる場合には 0 が代入されます。

リテラル表現の行列を代入する場合でも、行列のサイズは指定しなければなりません。

matrix $a1[][] = <<1; 4>>; // ERROR: Size not specified

行列の値を取得して設定する

行列の要素を設定するのは、配列で要素を設定するのと同じです。1 番目のインデックスで行を指定し、2 番目のインデックスで列を指定します。

matrix $a3[4][2];
$a3[1][0] = 9;

配列とは異なり、行列のサイズを拡大することはできません。行列の範囲外の値を代入しようとすると、MEL はエラーを表示します。

$a3[0][1] = 7; // ERROR: Element doesn’t exist