我正在尝试使用多维数组 ( [2][2]
) 制作一个简单的矩阵乘法方法。我对此有点陌生,我只是找不到我做错了什么。如果能告诉我它是什么,我将不胜感激。我宁愿不使用库或类似的东西,我这样做主要是为了了解它是如何工作的。非常感谢你提前。
我在 main 方法中声明我的数组如下:
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;
}
原文由 user2577854 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以试试这段代码: