1

多くの行列計算を使用するJavaプログラムを作成しています.特定の計算中は、さらに計算する前に複数の一時的な「ストレージ」行列を使用します.

クラス変数で一時行列をそのように宣言しました

private double[][] intermediateMatrixA; private double[][] intermediateMatrixB; private double[][] intermediateMatrixC; private double[][] intermediateMatrixD;

ただし、コンストラクターまたはメソッドのマトリックスをintermediateMatrix = new double[][]. 代わりに、一時的なマトリックスごとにこれを行っていますintermediateMatrix = [the product of a matrix calculation]

私の質問:私が使用している安全な方法は、一時配列が他の計算で再利用されることを念頭に置いていますか? 一時行列の 1 つが別の配列と等しいと宣言するたびに、その行列の正確な次元と値に等しくなりますか?

よろしくお願いしますマイク

4

1 に答える 1

0

はい、上からの変数がメソッドまたは計算の結果を指し、行と列が保持されるという点で「安全」です。

private double[][] intermediateMatrixA = new double[3][4];
//etc etc
intermediateMatrixA =new double[5][6];

それが常にである限り、完全に問題ありませんdouble[][]; ただし、行と列を追跡するロジックはあなた次第です。

double[][]タイプを他のタイプに割り当てることはできますが、に割り当てることはできませdouble[][]ん。double[]double[][]

何度も使用する場合は、念のため、割り当てる前にnullに設定することをお勧めします。

于 2012-04-12T19:23:37.100 に答える