我是靠谱客的博主 鳗鱼蜜粉,最近开发中收集的这篇文章主要介绍java计算两个矩阵相乘,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import java.util.Scanner;
public class matrix {
	public static double[][] multiplyMatrix(double[][] a,double[][] b){

		 if(a[0].length != b.length) {
		        System.out.println("输入错误");
		        return null;
		 }

		 double[][] c=new double[a.length][b[0].length];

		        for(int i=0;i<a.length;i++) 
		            for(int j=0;j<b[0].length;j++) 
		              for(int k=0;k<a[0].length;k++)            
		            c[i][j] += a[i][k] * b[k][j];		       
		        return c;
		}
	
		public static void printMatrix(double[][] c) {

			if (c!=null) {
				for(int i=0;i<c.length;i++) {					
					for(int j=0;j<c[0].length;j++) 
						System.out.printf("%-8.1f",c[i][j]); 
				System.out.println();
		        }
		} 
		
			else {System.out.println("无效");}

		System.out.println();
		}

		public static void main(String[] args) {

			Scanner input=new Scanner(System.in);
			System.out.println("输入第一个矩阵的行");
			int m=input.nextInt();
			System.out.println("输入第一个矩阵的列");
			int n=input.nextInt();
			System.out.println("输入第二个矩阵的列");
			int k=input.nextInt();
			
			double [][]a=new double[m][n]; 
		    double [][]b=new double[n][k]; 
		    
		    System.out.println("输入矩阵a:");
		     for(int i=0;i<m;i++)
		      for(int j=0;j<n;j++)
		      a[i][j]=input.nextDouble();
		     
		     System.out.println("输入矩阵b:");
		     for(int i=0;i<n;i++)
		      for(int j=0;j<k;j++)
		      b[i][j]=input.nextDouble();
		     
		      double [][]c=multiplyMatrix(a, b);
		      
		      System.out.println("Matrix a:");
		      printMatrix(a);   
		      System.out.println("Matrix b:");
		      printMatrix(b);  
		      System.out.println("Matrix c:");
	          printMatrix(c);   
		      input.close(); 

		}

		}
	
	



最后

以上就是鳗鱼蜜粉为你收集整理的java计算两个矩阵相乘的全部内容,希望文章能够帮你解决java计算两个矩阵相乘所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部