标签:矩阵计算
最近学习hadoop, 很多算法需要利用到矩阵计算,,例如: 协同过滤,pagerank 等等
所以练习一下,
public static void m1() { // 根据矩阵乘法的规则,a[4 *3] * b[3,2], // 将会得到一个r [4 *2] 的新矩阵 // r[i][j] = a[i][0] * b[0][j] + // a[i][1] * b[1][j] + // a[i][2] * b[2][j] int[][] a = new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 1, 2, 3} }; int [][] b = new int[][]{ {1,2}, {3,4}, {5,6} } ; int [][] r = new int[4][2]; int tmp =0; // 结果集的列数, 多少列,就代表需要遍历a 矩阵多少次 for ( int k =0; k < r[0].length; k++) { // 双重循环,遍历 a 矩阵 for (int i = 0; i< a.length; i++ ) { tmp = 0; // 每一行的结果,对应结果集中的一个元素 for (int j = 0; j < a[0].length; j++) { tmp += a[i][j] * b[j][k] ; } r[i][k]=tmp; } } for (int i = 0; i < r.length; i++) { for (int j = 0; j < r[0].length; j++) { System.out.print(r[i][j] + "\t"); } System.out.println(); } }
本文出自 “流浪的脚步” 博客,谢绝转载!
标签:矩阵计算
原文地址:http://now51jq.blog.51cto.com/3474143/1549839