您的位置:首页 > 编程语言 > Java开发

关于矩阵计算的java 代码实现----笔记

2014-09-07 23:21 411 查看
最近学习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();

}
}


本文出自 “流浪的脚步” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: