两个矩阵的乘积的java实现

该博客介绍了如何在Java中计算两个矩阵A和B的乘积矩阵C。矩阵A为5x2,B为2x3,C为5x3。算法通过遍历每个元素并按矩阵乘法规则计算,将结果存储在新的3x3矩阵C中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

计算两个矩阵 A、B 的乘积矩阵 C。     

矩阵 A={1,2,3,4,5,6};矩阵 B={7,8,9,10,11,12}。
两个矩阵的乘积仍然是矩阵。若 A 矩阵有m行p列,B 矩阵有p行n列,则它们的乘积 C 矩阵有m 行n 列。                 

 C=A*B 的算法:  Cij=  (i=0,1,……,m-1;j=0,1,……,n-1)
设 A、B、C 矩阵用 3 个 2 维数组表示:a 数组有 3 行 2 列,b 数组有 2 行 3 列,则 c 数组有 3 行 3 列。
如:
c[0][0]=  a[0][0]*b[0][0]+a[0][1]*b[1][0];
c[1][0]=  a[1][0]*b[0][1]+a[1][1]*b[1][1];

 

 

01 public class ArrayMult {
02  
03     public static void main(String[] args) {
04         int[][] a = {{1,2},{3,4},{5,6}};
05         int[][] b = {{1,2,3},{4,5,6}};
06         //m表示数组a的行数,n表示数组b的列数,s表示数组a的列数和数组b的行数
07         int m = a.length, n = b[0].length, s1 = a[0].length, s2 = b.length;
08         //判断两个数组是否能够相乘求积
09         if(s1 != s2) {
10             System.out.println("数组不能相乘,数组a的列数不等于数组b的行数");
11             return;
12         }
13         //动态创建数组c用来保存结果
14         int[][] c = new int[m][n];
15         for(int i=0; i<m; i++)   //i表示数组c的每一行
16             for(int j=0; j<n; j++) {  //j表示数组c的每一列
17                 int temp = 0;
18                 for(int k=0; k<s1; k++) //k表示数组a的列号和数组b的行号
19                     temp+=a[i][k]*b[k][j];
20                 c[i][j] = temp;
21             }
22         print(a);
23         print(b);
24         print(c);
25     }
26      
27     private static void print(int[][] c) {
28         int m = c.length;
29         int n = c[0].length;
30         for(int i=0; i<m; i++) {
31             for(int j=0; j<n; j++) {
32                 if(c[i][j]<10)
33                     System.out.print(" ");
34                 System.out.print(c[i][j] + " ");
35             }
36         System.out.println();
37         }
38         System.out.println("--------------------------------------");
39     }
40 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值