数组应用:矩阵乘法Java版
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组应用:矩阵乘法Java版相关的知识,希望对你有一定的参考价值。
关键在于实现算法,所以代码都写在了main程序中,程序代码如下:
package chapter02; import java.util.Arrays; /* * 矩阵乘法的实现(简单版) */ public class CH02_03 { public static void main(String[] args) { int[][] arr1 = { {3, 3, 3}, {5, 5, 5} }; int[][] arr2 = { {1, 2}, {3, 4}, {5, 6} }; //定义并填充存放结果的数组 int[][] arrResult = new int[2][2]; for(int i = 0; i < 2; i++){ Arrays.fill(arrResult[i], 0); } //输出矩阵乘法前的结果数组 for(int i = 0; i < 2; i++){ System.out.println(Arrays.toString(arrResult[i])); } //计算矩阵乘法 for(int i = 0; i < arr1.length; i++){ //外循环,arr1的第i行 for(int j = 0; j < arr1.length; j++){ //内循环,arr2的第j列,这里也用arr1.length,是因为arr1的行数和arr2的列数是一致的 //arrResult[i][j]即为结果 for(int k = 0; k < arr2.length; k++){ //内内循环,k值用来控制相乘的元素的索引 //表现为,k控制arr1横向移动,arr2纵向移动 //即arr1[i][k],arr2[k][j] arrResult[i][j] += arr1[i][k]*arr2[k][j]; } } } //输出矩阵乘法后的结果数组 for(int i = 0; i < arrResult.length; i++){ System.out.println(Arrays.toString(arrResult[i])); } } }
运行结果如下:
[0, 0] [0, 0] [27, 36] [45, 60]
本文出自 “香飘叶子” 博客,请务必保留此出处http://xpleaf.blog.51cto.com/9315560/1976526
以上是关于数组应用:矩阵乘法Java版的主要内容,如果未能解决你的问题,请参考以下文章