BigMatrix 値および BigMatrixRowArray 値

> Basic Data Values > BigMatrix 値および BigMatrixRowArray 値

 

   

値とコレクション - クイック ナビゲーション

BigMatrix クラスには、通常の 4x3 Matrix3 クラスが適切でない状況や計算のために MxN 行列が実装されています。

BigMatrixRowArray クラスには、N 要素のベクトルが実装されています。

BigMatrix 値の各行は BigMatrixRowArray 値に相当します。

BigMatrixRowArray の要素には、浮動小数点値だけを保存できます。

   

コンストラクタ:

BigMatrix <rows> <columns>

BigMatrix 値を指定の数の行と列で構成します。

最初はすべての要素が 0.0 値になります。

   

プロパティ

<BigMatrix>.rows: Integer, read-only
<BigMatrix>.columns: Integer, read-only

BigMatrix 値の行と列の数を取得します。

   

演算子

<BigMatrix> + <BigMatrix>

2 つの BigMatrix 値を一緒に追加します。

両方の BigMatrix 値は同じサイズでなければなりません。

   

<BigMatrix>[<int_row>] 

インデックスで指定された行の BigMatrixRowArray 値を返します。

   

<BigMatrixRowArray>[<int_column>]

BigMatrixRowArray 値に格納されたインデックスで指定された列の浮動小数点値を返します。

   

<BigMatrixRowArray>[<int_column>]= <float_value>

BigMatrixRowArray 値のインデックスで指定された列に値を設定します。

アクセサ自体がオペランドなので、これらの定義は再帰的です。つまり、次のように複数のアクセサを結ぶことができます。

<BigMatrix>[<int_row>][<int_column>]

インデックスで指定された行と列の浮動小数点値を返します。

   

<BigMatrix>[<int_row>][<int_column>]= <float_value>

行列にインデックスで指定された行と列の浮動小数点値を設定します。

   

メソッド

invert <BigMatrix>

行列の位置を反転します(入力 BigMatrixf が修正されます)。

戻り値もまた反転した行列となります。

このメソッドは、行列が「正方形」の場合 (m と n が等しい場合) だけ作用するので注意してください

   

transpose <BigMatrix>

行と列が置き換えられた <BigMatrix> を返します(つまり、BigMatrix[i][j] = BigMatrix[j][i])になります。

   

clear <BigMatrix>

要素をすべて解放し、行列のサイズを 0 x 0 に設定します。

   

setSize <BigMatrix> <rows> <columns>

現在の要素を削除して、行列のサイズを <rows> x <columns> に設定します。

   

identity <BigMatrix> -- mapped function

行と列の数が等しくない場合、このメソッドは何も実行しません。

行と列の数が等しい場合は、このメソッドは行列を単位行列(斜めの要素が 1、その他の要素は 0)に設定します。

パラメータが行列の配列の場合、この関数は OK を返します。

上記 2 つのどちらの場合でも、入力 BigMatrix 値は単位行列に設定されます。

注:

BigMatrix オブジェクトは、配列中の配列に似た複合オブジェクトです。BigMatrix メソッドはすべて、入力 BigMatrix のコンポーネントを直接操作します。「参照代入」で説明されているように、これは BigMatrix オブジェクトが複数の変数によって参照されている場合に問題の原因となります。行列の要素に新しい値を割り当てる場合、あるいはいずれかの BigMatrix メソッドを使用する場合、同じオブジェクトが変数によって参照されます。

次に例を示します。

スクリプト:

bm1=bigmatrix 2 2
for i=1 to 2 do for j=1 to 2 do bm1[i][j]=random 0 10
bm2=bm1
invert bm1
bm2

出力:

#BigMatrix( --result of line 1, contents of bm1
[0.00,0.00],
[0.00,0.00]
)
OK -- result of line 2
#BigMatrix( --result of line 3, contents of bm2
[4.00,6.00],
[4.00,9.00]
)
#BigMatrix( --result of line 4, contents of bm1
[0.75,-0.50],
[-0.33,0.33]
)
#BigMatrix( --result of line 5, contents of bm2
[0.75,-0.50],
[-0.33,0.33]
)

関連事項