一个矩阵乘法的JAVA小程序!

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:01:07
这是个求两个矩阵相乘的小程序!
用的是两个2维数组,我想把它改成用一个1维数组和一个2维数组相乘,然后把结果保存在一个1维数组multiplyMatrix里面(现在是2维数组,因为改变a的元素大小以后,算出的结果的元素也会变),一个1维数组和一个2维数组(3*3的)算出的结果永远是3个数,所以用1维数组multiplyMatrix保存就可以! 解决给追分!!!谢谢!
public class MultiMatrix {
double[][] multiplyMatrix;
public static void main(String args[]){
double[][] a={{12,44,188}};
double[][] b={{3,5,9},{6,2,7},{1,4,8}};
MultiMatrix mm=new MultiMatrix();
mm.mMatrix(a,b);
mm.display();
}
public void mMatrix(double[][] a,double[][] b){
multiplyMatrix=new double[a.length][b[0].length];
for (int i = 0; i<a.length; i++) {//rows of a
for (int j = 0; j<b[0].length; j++) {//columns of b
for (int k = 0; k<a[0].length; k++) {//columns of a = rows of b
multiplyMatrix[i][j]=multiplyMatrix[i][j]+a[i][k]*b[k][j];
}
}
}
}
public void display(){
for (int i = 0; i<multiplyMatrix.length; i++) {
for (int j = 0; j<multiplyMatrix[0]

public class MultiMatrix {
double[]multiplyMatrix;
public static void main(String args[]){
double[] a={12,44,188};
double[][] b={{3,5,9},{6,2,7},{1,4,8}};
MultiMatrix mm=new MultiMatrix();
mm.mMatrix(a,b);
mm.display();
}
public void mMatrix(double[] a,double[][] b){
multiplyMatrix=new double[a.length];
for (int i = 0; i<a.length; i++) {//rows of a
for (int j = 0; j<b[0].length; j++) {//columns of b
//columns of a = rows of b
multiplyMatrix[i]+=a[j]*b[j][i];
}
}
}
public void display(){
for (int i = 0; i<multiplyMatrix.length; i++) {
System.out.print(multiplyMatrix[i]+" ");
}
}
}