前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >算法系列-----矩阵(二)-------------单位矩阵的加法和减法

算法系列-----矩阵(二)-------------单位矩阵的加法和减法

作者头像
wust小吴
发布于 2022-03-04 07:51:08
发布于 2022-03-04 07:51:08
70600
代码可运行
举报
文章被收录于专栏:风吹杨柳风吹杨柳
运行总次数:0
代码可运行

矩阵的加法和减法很简单,唯一的要求就是:行列相等

首先我们看一维的相加(其实就是数组的相加):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	/**
	 * 两个一维数组相加
	 * 
	 * @param args
	 *            参数a,b是两个浮点型(double)的一维数组
	 * @return 返回值是一个浮点型一维矩阵
	 */
	public static double[] plus(double[] a, double[] b) {
		int hang = a.length;
		double[] result = new double[hang];
		for (int i = 0; i < hang; i++) {

			result[i] = a[i] + b[i];

		}
		return result;
	}

打印一维数组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	public static void print_array(double[] result){
		for(int i=0;i<result.length;i++){
			System.out.print("\t" + result[i]);
		}
		System.out.println();
	}

二维数组的相加:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	/**
	 * 矩阵相加的函数
	 * 
	 * @param args
	 *            参数a,b是两个浮点型(double)的二维数组
	 * @return 返回值是一个浮点型二维数组(矩阵a与b的和)
	 */
	public static double[][] plus(double[][] a, double[][] b) {
		int hang = a.length;
		int lie = a[0].length;
		double[][] result = new double[hang][lie];
		for (int i = 0; i < hang; i++) {
			for (int j = 0; j < lie; j++) {
				result[i][j] = a[i][j] + b[i][j];
			}
		}
		return result;
	}

矩阵相减:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	/**
	 * 矩阵相减的函数
	 * 
	 * @param args
	 *            参数a,b是两个浮点型(double)的二维数组,
	 * @return 返回值是一个浮点型二维数组(矩阵a与b的差)
	 */
	public static double[][] minus(double[][] a, double[][] b) {
		int hang = a.length;
		int lie = a[0].length;
		double[][] result = new double[hang][lie];
		for (int i = 0; i < hang; i++) {
			for (int j = 0; j < lie; j++) {
				result[i][j] = a[i][j] - b[i][j];
			}
		}
		return result;
	}

测试代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	public static void main(String[] args) {
		double[] a = { 3, 2, 1, 4};
		double[] b = { 5, 6, 9, 8};
		double[] s_test = plus(a,b);
		
		double[][] d_a = new double[][]{{1,2},{3,4}};
		double[][] d_b = new double[][]{{7, 8}, {6, 5}};
		double[][] d_test = plus(d_a,d_b);
		double[][] minus_test=minus(d_a,d_b);
		System.out.println("一维相加");
		System.out.println("--------------------------------");
		print_array(s_test);
		System.out.println("矩阵相加");
		System.out.println("--------------------------------");
		print(d_test);
		System.out.println("矩阵相减");
		System.out.println("--------------------------------");
		print(minus_test);
	}

输出结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
一维相加
--------------------------------
	8.0	8.0	10.0	12.0
矩阵相加
--------------------------------
	8.0	10.0
	9.0	9.0
矩阵相减
--------------------------------
	-6.0	-6.0
	-3.0	-1.0

最基本的操作:加和减 还是要说的。很简单

只是想说明一点:我看过很多网上的代码,有的人在加法和减法中把结果直接存在

第一个参数中返回,这让我很是犹豫,我常常会想到交换函数时并没有改变他们的值

或者是当同一个参数同时调用两个矩阵方法时,发现了a和b都变了,让我很是气恼

故而我觉得还是在代码中再定义一个局部变量比较好,尽管这样的代码不够优化,但是我看的很清楚。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
算法系列-----矩阵(七)-------------矩阵的除法
计算矩阵的除法,其实就是将被除的矩阵先转化为它的逆矩阵,它的逆矩阵相当于被除的矩阵分之一,
wust小吴
2022/03/04
1.2K0
算法系列-----矩阵(四)-------------矩阵的乘法
而如果该函数被下面调用了,已经判断了a的长度和b的长度是相等的,所以这里只是单独的抽出来而已
wust小吴
2022/03/04
5220
算法系列-----矩阵(三)-------------矩阵的子矩阵
// 当去掉某一列的时候,就可以假定行不变,变成了一维的数组,去掉某一个下表,就如此简单
wust小吴
2022/03/04
1.1K0
【day06】方法
程序员波特
2024/12/21
620
【day06】方法
JavaSE 总复习:夯实基础,迈向进阶之路
在 Java 编程的学习旅程中,JavaSE(Java 标准版)是基石般的存在。它涵盖了丰富的基础知识和核心概念,对深入学习 Java 后端开发、安卓开发等领域起着至关重要的作用。以下将对 JavaSE 的重点知识进行全面复习总结。 (一)基本数据类型 Java 有 8 种基本数据类型,分别是: 整型:byte(1 字节,-128 到 127)、short(2 字节)、int(4 字节)、long(8 字节,需在数值后加L或l)。例如:int num = 10; 浮点型:float(4 字节,需在数值后加F或f)、double(8 字节)。如:double pi = 3.14; 字符型:char(2 字节,用单引号括起来的单个字符)。像char ch = ‘A’; 布尔型:boolean(只有true和false两个值)。 (二)引用数据类型 包括类、接口、数组等。例如创建一个字符串对象:String str = “Hello”; (三)变量声明与初始化 变量在使用前必须先声明,声明格式为数据类型 变量名。可以在声明时进行初始化,也可以先声明后赋值。例如:
学无止尽5
2024/11/29
1280
算法系列-----矩阵(五)-------------矩阵的求逆
-------------------------------- 1.0 2.00.0 0.0 3.0 4.00.0 0.0 -------------------------------- 1.0 2.01.0 0.0 3.0 4.00.0 1.0 -------------------------------- 1.0 3.0-2.0 1.0 0.0 -0.51.5 -0.5 -------------------------------- 1.0 3.0-2.0 1.0 0.0 -0.51.5 -0.5 -------------------------------- -2.0 1.0 1.5 -0.5
wust小吴
2022/03/04
9530
算法系列-----矩阵(五)-------------矩阵的求逆
java安装以及快速入门java基本语句
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
长生不死大王
2025/04/28
1210
零基础学Java(8)数组
数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标(index,或称索引)可以访问数组中的每一个值。例如,如果a是一个整型数组,a[i]就是数组中下标为i的整数。 在声明数组变量时,需要指出数组类型(数据元素类型紧跟[])和数组变量的名字。下面声明了整型数组a:
全栈程序员站长
2022/09/19
6660
零基础学Java(8)数组
矩阵的运算
题目:实现两个矩阵的相加,两个矩阵的相减,矩阵的转置和矩阵的逆矩阵等运算,并输出结果。
用户8224910
2021/01/26
4370
算法系列-----矩阵(八)-------------矩阵元素排序
然后需要去排矩阵的话,只需对行或者列向量进行排序,然后根据每行A[i]的值比较大小再交换的位置即可
wust小吴
2022/03/04
4880
Java数组详解
如果你想全面了解Java中有关数组的知识点,那么这篇文章就是你需要的全部。让我们一起深入探讨数组的定义、创建、遍历以及常用API吧!
默 语
2024/11/20
780
Java数组全套深入探究——进阶知识阶段5、二维数组
总篇链接:https://laoshifu.blog.csdn.net/article/details/134906408
红目香薰
2023/12/11
2490
Java数组全套深入探究——进阶知识阶段5、二维数组
算法系列-----矩阵(六)-------------矩阵的消去
高斯消去法,解二元一次方程组。 ax+by=mL【1】 cx+dy=nL【2】 (其中x,y为未知量) 答:ax+by=mL【1】 cx+dy=nL【2】 当其系数行列式不等于0时有唯一解,即就是放ad-bc不等于0是有唯一解 且x=mld-nlb/ad-bc y=nla-mlb/ad-bc
wust小吴
2022/03/04
5780
查找二维数组的最大值及其位置
这道题目就是一道简单的二维数组查找问题,遍历二维数组即可找到最大值。 代码实现(Java)
用户8224910
2021/01/26
2.3K0
【06】JAVASE-数组讲解【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1630
【06】JAVASE-数组讲解【从零开始学JAVA】
函数和数组
发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数。
泰斗贤若如
2019/06/18
5770
Java之数组篇
该文是对Java大数相加的一个总结,介绍了Java大数相加的算法和思路,并给出了示例代码。
CN_Simo
2017/12/26
1.5K0
Java之数组篇
JAVA基础复习day-01
byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。
阮键
2019/08/07
6270
LeetCode-861. 翻转矩阵后的得分(java)
有一个二维​​矩阵​​ A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。
bug菌
2023/05/27
1360
LeetCode-861. 翻转矩阵后的得分(java)
java交换二维数组行列_java二维数组行列
培训系列AmberXie 求二维数组行列之和把二维数组 a 各行之和分别放入 b…
全栈程序员站长
2022/06/26
1.9K0
相关推荐
算法系列-----矩阵(七)-------------矩阵的除法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验