多次元配列 ( ) を使用して単純な行列乗算方法を作成しようとしています[2][2]
。私はこれに慣れていないので、何が間違っているのかわかりません。それが何であるかを教えてくれて本当に助かります。私はむしろライブラリやそのようなものを使用したくありません.私は主にそれがどのように機能するかを学ぶためにこれを行っています. よろしくお願いします。
次のように、メイン メソッドで配列を宣言しています。
Double[][] A={{4.00,3.00},{2.00,1.00}};
Double[][] B={{-0.500,1.500},{1.000,-2.0000}};
A*B は恒等行列を返す必要があります。そうではありません。
public static Double[][] multiplicar(Double[][] A, Double[][] B){
//the method runs and returns a matrix of the correct dimensions
//(I actually changed the .length function to a specific value to eliminate
//it as a possible issue), but not the correct values
Double[][] C= new Double[2][2];
int i,j;
////I fill the matrix with zeroes, if I don't do this it gives me an error
for(i=0;i<2;i++) {
for(j=0;j<2;j++){
C[i][j]=0.00000;
}
}
///this is where I'm supposed to perform the adding of every element in
//a row of A multiplied by the corresponding element in the
//corresponding column of B, for all columns in B and all rows in A
for(i=0;i<2;i++){
for(j=0;j<2;j++)
C[i][j]+=(A[i][j]*B[j][i]);
}
return C;
}