数学矩阵(详解)

矩阵乘法

知阵乘法是《线性代数》中的基础内容,但在考察数学的算法题中也会出现。
本节我们学习基础的矩阵乘法规则。
每个矩阵会有一个行数和一个列数,只有当相乘的两个矩阵的左矩阵的列数等于右矩阵的行数
时,才能相乘,否则不允许做矩阵乘法。
例如,3x5的矩阵可以和5x7的矩阵做乘法,但是3x5的阵不能和4x7的矩阵做乘法N*M的知阵利M*K的矩阵做乘法后的矩阵大小为N*K
矩阵乘法的规则用一句话描述就是,第一个矩阵A的第i行和第二个矩阵B的第i列的各M个元素对应相乘再相加得到新矩阵C[i][j]的值

 例题

矩阵相乘

题目描述

小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器。

输入描述

输入的第一行包含三个正整数 N,M,K,表示一个 $NM的矩阵乘以一个的矩阵乘以一个MK的矩阵。接下来N行,每行M个整数,表示第一个矩阵。再接下来的M行,每行K$ 个整数,表示第二个矩阵。

0<<N,M,K≤100, 0≤ 矩阵中的每个数 ≤1000

输出描述

输出有 N 行,每行 K 个整数,表示矩阵乘法的结果。

输入输出样例

示例

输入

2 1 3
1
2
1 2 3

输出

1 2 3
2 4 6
package shuxeu;
import java.util.*;
public class juzhen {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan=new Scanner(System.in);
		int m=scan.nextInt();
		int n=scan.nextInt();
		int k=scan.nextInt();
		int [][]a=new int[m][n];
		int [][]p=new int[n][k];
		for(int i=0;i<m;i++) {
			for(int j=0;j<n;j++) {
				a[i][j]=scan.nextInt();
			}
		}
		for(int i=0;i<n;i++) {
			for(int j=0;j<k;j++) {
				p[n][k]=scan.nextInt();
			}
		}
		int[][]sum=new int[m][k];
		for(int i=0;i<m;i++) {
			for(int j=0;j<k;j++) {
				for(int c=0;c<n;c++) {
					sum[i][j]+=a[i][c]*p[c][j];		
				}
				System.out.println(sum[i][j]);
			}
				System.out.println("");
		}
	}

}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/509328.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】黄河交通学院教学质量评价系统的设计与实现(付系统源码)

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

跑步用什么运动耳机?推荐几款跑步时超好用的运动耳机

跑步健身成为了很多都市白领喜欢的运动方式之一&#xff0c;而为专业运动健身领域设计的运动耳机&#xff0c;近年来也受到了越来越多运动爱好者和数码爱好者的关注。相比于传统蓝牙耳机&#xff0c;运动耳机在运动过程中带给用户更舒适和安全的使用体验&#xff0c;因此也受到…

什么是AIGC,AIGC的应用领域有哪些,以及对AIGC的未来展望有什么值得关注的方向

AIGC:人工智能生成内容的深度解析 在数字技术的浪潮中,AIGC(ArtificialIntelligenceGeneratedContent,人工智能生成内容)逐渐崭露头角,成为继专业生产内容(PGC)和用户生产内容(UGC)之后的新型内容创作方式。它不仅改变了内容生产的传统模式,更在多个行业中展现出…

钉钉服务端API报错 43008 参数需要multipart类型

钉钉服务端API报错 43008 参数需要multipart类型 problem 使用媒体文件上传接口&#xff0c;按照文档输入参数&#xff0c;结果返回报错 # 参数 {"access_token": "xxx""type": "image","media": "/Users/xxx/xxx/s…

mongodb sharding分片模式的集群数据库,日志治理缺失导致写入数据库报错MongoWriteConcernException的问题总结(下)

一、接着上文 上文介绍了mongodb sharding的分片集群搭建&#xff0c;本文侧重于讲述日志治理。 这里使用linux自带的日志治理工具logrotate&#xff0c;无论是哪个端口的进程&#xff0c;其日志治理方式类似。 查看/data目录下的文件大小&#xff0c; du -hs *二、Logrota…

Django创建多app应用

目录 1. 引言 2. 多app创建的两种方式 2.1 多个app结构 2.2 单个apps多个app 3. 最后 1. 引言 在平常业务开发中&#xff0c;我们遇到的功能可能会有很多&#xff0c;单个app的应用可能无法满足我们 这个时候&#xff0c;我们就需要多app应用&#xff0c;例如&#xff1a…

知识图谱概论

文章目录 语言与知识相关知识图谱知识图谱价值知识图谱技术内涵 语言与知识 人的大脑依赖所学的知识进行思考、推理、理解语言… 人类通过认识世界积累知识&#xff0c;并通过语言来描述、记录和传承关于世界的知识。同时&#xff0c;准确理解语言也极大依赖大脑中所习得的各种…

【御控物联】JavaScript JSON结构转换(13):对象To数组——多层属性重组

文章目录 一、JSON结构转换是什么&#xff1f;二、案例之《JSON对象 To JSON数组》三、代码实现四、在线转换工具五、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0c;生成新的JS…

电梯四种事故检测YOLOV8

电梯四种事故检测&#xff0c;采用YOLOV8训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV调用&#xff0c;支持C/PYTHON/ANDORID开发 电梯四种事故检测YOLOV8

matlab——基于三维激光扫描点云的树冠体积计算方法

目录 一、算法原理1、原理概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、原理概述 针对树冠形状不规则,树冠体积难以测量和计算的问题,提出一种基于三…

Android Studio调试中的坑

1、新建Android工程后编译发现报错 2、发现无33和34的SDK更新 3、查看google相关文档 Android Gradle 插件 8.3 版本说明 | Android Studio | Android Developers 如果需要支持相关更高SDK需要的Android Studio版本和Android Gradle 插件是有版本要求的&#xff0c;相关要…

C++提高编程之STL初始

1.STL的诞生 长久以来&#xff0c;软件界一直希望建立重复性的东西C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升大多情况下&#xff0c;数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STL 2&#xff0c;ST…

ubuntu18.04 pycharm

一、下载pycharm &#xff08;1&#xff09;进入官网下载Download PyCharm: The Python IDE for data science and web development by JetBrains 选择专业版&#xff08;professional&#xff09;直接点击下载&#xff08;download&#xff09;&#xff0c;我下载的是2023.3…

Netty学习——源码篇10 Netty内存分配ByteBuf基础

1 初始ByteBuf ByteBuf是Netty整个结构中最为底层的模块&#xff0c;主要负责把数据从底层I/O读取到ByteBuf&#xff0c;然后传递给应用程序&#xff0c;应用程序处理完成后再把数据封装成ByteBuf写回I/O。所以&#xff0c;ByteBuf是直接与底层打交道的一层抽象。 2 ByteBuf的…

计算机网络-HTTP相关知识-HTTPS基础

HTTP与HTTPS的区别&#xff1a; HTTPS在TCP和HTTP网络层之间加入了SSL/TLS安全协议层。这个安全协议层可以对数据进行加密&#xff0c;确保数据在传输过程中的安全。HTTPS在TCP三次握手之后&#xff0c;还需进行SSL/TLS的握手过程。这个握手过程主要是为了在客户端和服务器之间…

react16路由缓存react-activation详解

react PC端项目构建TS&#xff0c;react18.2.0antdviteaxiosreduxsassts 完整版代码下载&#xff1a; https://download.csdn.net/download/randy521520/88922625 react PC端项目构建&#xff0c;react18.2.0antdviteaxiosreduxsass完整版代码下载&#xff1a; https://downloa…

Bun 1.1 发布,全面支持 Windows 系统

4 月 2 日&#xff0c;Jarred Sumner 宣布 Bun 1.1 正式推出。Bun 是一个快速、一体化的工具包&#xff0c;用于运行、构建、测试和调试 JavaScript 和 TypeScript&#xff0c;从单个脚本到全栈应用程序。如果您是 Bun 的新手&#xff0c;可以在 Bun 1.0 博客文章中了解更多信息…

Elasticsearch 免费许可证到期问题解决

问题 es日志报错信息&#xff1a;current license is non-compliant for [security] [2024-04-01T03:20:52.96800:00][ERROR][savedobjects-service] [.kibana_alerting_cases] Action failed with security_exceptionRoot causes:security_exception: current license is no…

Spark 起源发展与项目架构说明

文章目录 前言Spark 的起源Spark 是什么速度易用性模块化可扩展性 分析方法的统一Spark SQLSpark MLlibSpark Structured StreamingGraphX Spark的分布式执行Spark driverSparkSessionCluster managerSpark executor部署模式分布式数据和分区 开发的经验Spark 的使用人群与使用…

0基础 三个月掌握C语言(16)

⽂件操作 为什么使⽤⽂件&#xff1f; 如果没有⽂件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运⾏程序&#xff0c;是看不到上次程序的数据的&#xff0c;如果要将数据…