Java算法之矩阵的加减乘除运算

Posted 笔触狂放

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java算法之矩阵的加减乘除运算相关的知识,希望对你有一定的参考价值。

        在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数实数集合 [1]  ,最早来自于方程组系数常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。

由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作:

package com.student;

import java.util.Random;

public class T4_7 {

	private int[][] nums1=null;
	private int[][] nums2=null;
	private int[][] nums3=null;
	
	private void init(int r1,int c1,int r2,int c2) {
		nums1=new int[r1][c1];
		nums2=new int[r2][c2];
		nums3=new int[r1][c2];
		System.out.println("矩阵1");
		for (int i = 0; i < nums1.length; i++) {
			for (int j = 0; j < nums1[i].length; j++) {
				nums1[i][j]=new Random().nextInt(10);
				System.out.print(nums1[i][j]+"\\t");
			}
			System.out.println();
		}
		System.out.println("矩阵2");
		for (int i = 0; i < nums2.length; i++) {
			for (int j = 0; j < nums2[i].length; j++) {
				nums2[i][j]=new Random().nextInt(10);
				System.out.print(nums2[i][j]+"\\t");
			}
			System.out.println();
		}
		print();
	}
	
	private void print() {
		//矩阵1的行
		for (int i = 0; i < nums1.length; i++) {
			//矩阵2的列
			for (int j = 0; j < nums2[0].length; j++) {
				//矩阵1的列和矩阵2的行
				for (int k = 0; k < nums1[0].length; k++) {
					nums3[i][j]+=nums1[i][k]*nums2[k][j];
				}
			}
		}
		System.out.println("结果矩阵为:");
		for (int i = 0; i < nums3.length; i++) {
			for (int j = 0; j < nums3[i].length; j++) {
				System.out.print(nums3[i][j]+"\\t");
			}
			System.out.println();
		}
		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new T4_7().init(3, 2, 2, 3);
	}

}

以上是关于Java算法之矩阵的加减乘除运算的主要内容,如果未能解决你的问题,请参考以下文章

c++实现矩阵运算的加减法乘法以及测试用例

归纳总结MATLAB中与矩阵运算有关的算术运算符(加减乘除点乘点除乘方转置等)

[算法]位运算问题之三(实现加减乘除)

Python的Numpy库中各种矩阵基本运算的示例代码(加减乘点乘点除乘方转置等)

OpenCV中的MAT类矩阵的各种基本运算及示例代码(加减乘点乘点除乘方累加转置等)

java实现四则运算