首页 > 其他 > 详细

矩阵相乘

时间:2017-06-20 19:07:48      阅读:319      评论:0      收藏:0      [点我收藏+]

矩阵相乘

代码如下:

package Day05;

public class MtxMultiplyDemo {
public static void main(String[] args) {
//初始化mtx A
int[][] mtxA = new int[][]{{1,2},{3,4}};
//初始化mtx B
int[][] mtxB = new int[][]{{3,4},{5,6}};
//初始化mtx C 先赋值为null,只给一个int[][]类型模板
int[][] mtxC = null;
//mtxA * mtxB = mtxC
mtxC = mtxMultiply(mtxA, mtxB);
// 打印矩阵mtx
printMtx(mtxA);
printMtx(mtxB);
printMtx(mtxC);
}

/**
* 打印矩阵mtx
* @param mtx
*/
private static void printMtx(int[][] mtx) {
for (int i = 0; i < mtx.length; i++) {
for (int j = 0; j < mtx[i].length; j++) {
System.out.print(mtx[i][j] + " ");
}
System.out.print("\n");
}
System.out.print("\n");
} /**
* mtxA * mtxB = mtxResult
* @param mtxA
* @param mtxB
* @return mtxResult
*/
private static int[][] mtxMultiply(int[][] mtxA, int[][] mtxB) {
int[][] mtxResult = new int[mtxA.length][mtxB[0].length];
//矩阵相乘的核心算法
for (int i = 0; i < mtxResult.length; i++) {
for (int j = 0; j < mtxResult[i].length; j++) {
for (int k = 0; k < mtxB.length; k++) {
mtxResult[i][j] += mtxA[i][k] * mtxB[k][j];
}
}
}
return mtxResult;
}
}

矩阵相乘

原文:http://www.cnblogs.com/F001li/p/7055762.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!