⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrixmultiply.java

📁 《算法设计与分析》王晓东编著
💻 JAVA
字号:

public class MatrixMultiply {

	/* 计算2个矩阵乘积的标准算法,即计算 c=a*b
	 * 输入参数说明: ra--矩阵a的行数   ca--矩阵a的列数
	 *             rb--矩阵b的行数   cb--矩阵b的列数 */
	public static void matrixMultiply(int [][]a, int [][]b, int [][]c,
			                  int ra, int ca, int rb,int cb)
	{
		if (ca!=rb)
			throw new IllegalArgumentException("矩阵不可乘");
		for (int i=0;i<ra;i++)
		  for (int j=0;j<cb;j++) {
			  int sum=a[i][0]*b[0][j];
			  for (int k=1;k<ca;k++)
				  sum+=a[i][k]*b[k][j];
			  c[i][j]=sum;
		  }
	}
	
	public static void main(String[] args) 
	{
		/* 矩阵a,b,c初始化 */
		int [][]a=new int[][]{{1,0,1},{2,3,0},{4,5,1},{-1,7,-4}};
		int [][]b=new int[][]{{1,0},{2,3},{4,5}};
		int [][]c=new int[4][2];				
		int ra=4,ca=3,rb=3,cb=2;
		
		/* 计算c=a*b */
		matrixMultiply(a,b,c,ra,ca,rb,cb);
		
		/* 输出矩阵c */
		for (int i=0;i<ra;i++)
		{
			for (int j=0;j<cb;j++)
			{
				System.out.print(c[i][j]);
				System.out.print(" ");
			}
			System.out.println();
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -