使用数组的矩阵乘法
2022-09-01 08:43:03
我正在尝试使用多维数组()制作一个简单的矩阵乘法方法。我对此有点陌生,我只是找不到我做错了什么。我真的很感激任何帮助我告诉我它是什么的帮助。我宁愿不使用库或类似的东西,我这样做主要是为了了解它是如何工作的。提前非常感谢你。[2][2]
我在main方法中声明我的arays,如下所示:
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;
}