9、矩阵的简单运算

news2024/11/17 7:22:50

目录

一、矩阵的加减运算

二、矩阵的乘方运算

1.数与矩阵的乘法

2.矩阵与矩阵的乘法

三、矩阵的除法

四、矩阵的幂运算

五、矩阵元素的查找

六、矩阵元素的排序

七、矩阵元素的求和

八、矩阵元素的求积

九、矩阵元素的差分


一、矩阵的加减运算

进行矩阵加法、减法运算的前提是参与运算的两个矩阵或多个矩阵必须具有相同的行数和列数,即A、B、C等多个矩阵均为m×n矩阵;或者其中有一个或多个矩阵为标量。

由于矩阵的加法运算归结为其元素的加法运算,容易验证,因此矩阵的加法运算满足下列运算律

(1)交换律:A+B=B+A。

(2)结合律:A+(B+C)=(A+B)+C。

(3)存在零元:A+0=0+A=A。

(4)存在负元:A+(-A)=(-A)+A。

示例1:创建矩阵A,B;行向量C;标量X;试求A+B、A-B、A+B+x、A-x、A-C

A=[1 1 1 1;1 2 3 4;1 3 5 7;2 4 6 8];

B=[1 1 1 1;1 2 3 4;1 3 5 7;2 4 6 8];

C=[1 2];

X=2;

D=A+B

E=A-B

F=A+B+X

G=A-X

H=A-C

运行结果:

二、矩阵的乘方运算

MATLAB中矩阵的乘法运算包括两种:数与矩阵的乘法;矩阵与矩阵的乘法。

1.数与矩阵的乘法

示例2:矩阵数乘

A=[1 1 1;1 3 5;2 4 6];

E=eye(3); %3维的单位矩阵

C=2*A+3*E

运行结果:

2.矩阵与矩阵的乘法

两个矩阵的乘法必须满足被乘矩阵的列数与乘矩阵的行数相等。

示例3:矩阵相乘

A=[1 3 5 7;2 4 6 8];

B=[1 1 1;1 2 3;1 3 5;2 4 6];

C=A*B

D=B*A

运行结果:

三、矩阵的除法

矩阵的除法是乘法的逆运算,分为左除和右除两种,分别用运算符号“\”和“/”表示。

示例4:矩阵的除法

A=[1 2;1 3];

B=[1 0;1 2];

C=A\B %左除

D=B/A %右除

运行结果:

注意:A\B表示矩阵A的逆乘以B,A/B表示矩阵A乘以矩阵B的逆。除非矩阵A和矩阵B相同,否则A/B和A\B是不等价的。对于一般的二维矩阵A和B,当进行A\B运算时,要求A的行数与B的行数相等;当进行A/B运算时,要求A的列数与B的列数相等。

四、矩阵的幂运算

当矩阵A为方阵时,可进行矩阵的幂运算。在MATLAB中,使用运算符号“^”表示幂运算。

示例5:方阵幂运算

A=[1 2;1 3];

B=A^2 % 平方

C=A^3 % 三次方

运行结果:

五、矩阵元素的查找

MATLAB中函数find()的作用是进行矩阵元素的查找,它通常与关系函数和逻辑运算相结合。其调用格式如下:

  1. ind = find(X):该函数查找矩阵X中的非零元素,函数返回这些元素的单下标。
  2. [row,col] = find(X,...):该函数查找矩阵X中的非零元素,函数返回这些元素的双下标i和j。

示例6:利用函数find()查找矩阵中的元素

A=[1 2 0;1 3 0;2 4 6];

B=find(A) %矩阵中非零元素的下标

C=find(A>=1) %矩阵中大于等于1的元素的下标

D=A(A>=1) %矩阵中大于等于1的元素

E=[B C D]

A(find(A==0))=10 %矩阵中等于0的元素改为0

运行结果:

六、矩阵元素的排序

MATLAB中函数sort()的作用是按照升序排序,排序后的矩阵和原矩阵的维数相同。其调用格式如下:

  1. B = sort(A):该函数对矩阵A进行升序排列。A可为矩阵或向量。
  2. B = sort(A,dim):该函数对矩阵 A 进行升序排列,并将结果返回在给定的维数dim上按照升序排列。当dim=1时,按照列进行排序;当dim=2时,按照行进行排序。
  3. B = sort(...,mode):该函数对矩阵A进行排序,mode可指定排序的方式。ascend指定按升序排列,为默认值;descend指定按降序排列。

示例7矩阵元素的排序

A=[1 2 0;1 3 0;2 4 6];

B=sort(A) %矩阵中元素按照列进行升序排序

C=sort(A,2) %矩阵中元素按照行进行升序排序

D=sort(A,'descend') %矩阵中元素按照列进行降序排序

E=sort(A,2,'descend') %矩阵中元素按照行进行降序排序

运行结果:

示例8:对向量进行排序

A=[5 8 1 6 9];

sort(A)

运行结果:

七、矩阵元素的求和

MATLAB中函数sum()和cumsum()的作用是对矩阵的元素求和。其调用格式如下:

  1. B = sum(A):该函数对矩阵A的元素求和,返回由矩阵A各列元素的和组成的向量。
  2. B = sum(A,dim):该函数返回在给定的维数dim上元素的和。当dim=1时,计算矩阵A各列元素的和;当dim=2时,计算矩阵A各行元素的和。
  3. B = cumsum(A)。
  4. B = cumsum(A,dim)。
  5. 函数cumsum()的调用格式与sum()类似,不同的是其返回值为矩阵。下面通过示例查看两个函数的不同之处。

示例9:矩阵元素的求和

A=[1 2 0;1 3 0;2 4 6];

B=sum(A) %矩阵中元素按照列进行求和

C=sum(A,2) %矩阵中元素按照行进行求和

D=cumsum(A) %矩阵中各列元素求和

E=cumsum(A,2) %矩阵中各行元素求和

F=sum(sum(A)) %矩阵中所有元素的和

运行结果:

八、矩阵元素的求积

MATLAB中函数prod()和cumprod()的作用是对矩阵的元素求积。其调用格式如下:

  1. B = prod(A):该函数对矩阵A的元素求积,返回由矩阵A各列元素的积组成的向量。
  2. B = prod(A,dim):该函数返回在给定的维数dim上元素的积。当dim=1时,计算矩阵A各列元素的积;当dim=2时,计算矩阵A各行元素的积。
  3. B = cumprod(A)。
  4. B = cumprod(A,dim)。
  5. 函数 cumprod()的调用格式与 prod()类似,不同的是其返回值为矩阵。读者可以通过下面的示例查看两者的不同之处。

示例10矩阵元素的求积

A=[1 2 0;1 3 0;2 4 6];

B=prod(A) %矩阵中各列元素的积

C=prod(A,2) %矩阵中各行元素的积

D=cumprod(A) %矩阵中各列元素的积

E=cumprod(A,2) %矩阵中各行元素的积

运行结果:

九、矩阵元素的差分

MATLAB中函数diff()的作用是计算矩阵的差分。其调用格式如下:

  1. Y = diff(X):计算矩阵各列元素的差分。
  2. Y = diff(X,n):计算矩阵各列元素的n阶差分。
  3. Y = diff(X,n,dim):计算矩阵在给定的维数dim上元素的n阶差分。当dim=1时,计算矩阵各列元素的差分;当dim=2时,计算矩阵各行元素的差分。

示例11:矩阵元素的差分

A=[1 2 0;1 3 0;2 4 6];

B=diff(A) %矩阵中各列元素的差分

C=diff(A,2) %矩阵中各列元素的2阶差分

D=diff(A,1,1) %矩阵中各列元素的差分

E=diff(A,1,2) %矩阵中各行元素的差分

运行结果:

注意:当参数n≥size(x,dim)时,函数的返回值是空矩阵。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端学习第四站——CSS全面学习基础篇

目录 一、基础认知 1.1 CSS的介绍 1.2 语法规则 1.3 CSS初体验 1.4 CSS初识-小结 2.1 CSS引入方式 二、基础选择器 1.1 选择器的作用 1.2 标签选择器 1.3. 类选择器 1.4 id选择器 补充:类和id的区别 1.5 通配符选择器 三、字体和文本样式 1. 字体样式 …

python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)

系列文章目录 python开发低代码数据可视化大屏:pandas.read_excel读取表格python实现直接读取excle数据实现的百度地图标注python数据可视化开发(1):Matplotlib库基础知识 文章目录系列文章目录前言实践目标一、读取Excel数据read_excel参数说明读取全部…

Launcher应用列表内搜索框显示异常

问题描述 应用列表界面搜索框显示异常。本地试验后发现以下规律。 1、删除几个底边栏图标 2、旋转屏幕 3、进入应用列表,观察上方搜索框显示 问题分析 此问题是launcher内部界面显示问题,比较初级。找到规律后,发现应用列表内搜索框和底边…

【Hadoop】MapReduce数据倾斜问题解决方案

默认情况下Map任务的数量与InputSplit数量保持一致,Map阶段的执行效率也与InputSplit数量相关,当遇到大量的小文件时我们采用SequenceFile合并成一个大文件,以此来提高运行效率(【Hadoop】MapReduce小文件问题解决方案&#xff08…

OJ万题详解––高考排名(C++详解)

题目 题目描述 高考成绩的排名规则是按总分由高到低排,总分相同的人排名应相同,例如有 5 个同学的考高成绩: 考号姓名成绩001c1567002ygh605003gl690004xtb605005wzs567按照成绩排序后,成绩如下: 排名考号姓名成绩1003…

C/C++ 相关低耦合代码的设计

在我们设计C/C 程序的时候,有时需要两个类或者两个模块相互“认识”,或者两个模块间函数互相调用,假设我们正在开发一个网上商店,代表的网店客户的类必须要知道相关的账户。UML图如下,这被称为环依赖,这两个…

【GIS前沿】什么是新型基础测绘、内容、产品体系、特征?

《测绘法》指出,基础测绘是建立和维护全国统一的测绘基准和测绘系统,进行航天航空影像获取,建立和更新维护基础地理信息数据库,提供测绘地理信息应用服务等。 文章目录一、什么是新型基础测绘?二、新型基础测绘的特征三…

6、场景法

为什么使用场景法 现在的系统基本上都是由事件来触发控制流程的。如:我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触…

1.Docker Desktop安装设置

1.下载最新版本Download Docker Desktop | Docker 2.进行安装 2.1进行4.x版本安装 2.2最新版本出现问题 出现 docker desktop stopped 过一会后 quit退出,下载3.x版本 2.3继续安装 Enable Hyper-V windows Features 启动Hyper-V windows 虚拟化功能 百度百科-验证…

【GD32F427开发板试用】一、环境搭建与freertos移植

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:chenjie 【GD32F427开发板试用】一、环境搭建与freertos移植 【GD32F427开发板试用】二、USB库移植与双USB CDC-ACM功能开发 【GD32F427开发板…

java集合类(属于工具类)概述

Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。 Java集合大致可分为Set、List、Queue和Map四种体系: 其中Set代表无序、不可重复的集合&…

限制系统性能瓶颈的因素、衡量系统性能的指标

文章目录限制系统性能瓶颈的因素cpu内存磁盘IO网络IO异常数据库锁竞争衡量系统性能的指标响应时间吞吐量计算机资源分配使用率负载承受能力有时候我们的程序性能不高,需要提升性能,这个时候可以从以下几个角度去考虑是什么限制了我们的性能瓶颈.限制系统性能瓶颈的因素 cpu 有…

spring-bean的生命周期-【源码解析】-上

一、spring的bean概念Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。Bean的生命周期就是指…

RocketMq-dashboard:topic 5min trend 原理和源码分析(一)

本文阅读基础:使用或了解过rocketMq;想了解"topic 5min trend"背后的原理;想了解监控模式如何实现。RocketMq的dashboard,有运维页面,驾驶舱,集群页面,主题页面,消费者页面…

[羊城杯 2020]easyre 1题解

一步一个脚印地耐心攀登,就是别去看顶峰,而要专注于在爬的路。 ——黑泽明 目录 1.查壳 2.IDA静态分析main函数 3.研究三重加密 第一重加密 第二重加密 第三重加密 4.解密 1.查壳 64bit exe文件 2.IDA静态分析main函数 拖入IDA,找到…

芯片验证系列——Checker

在产生了有效的激励后,需要判断出不符合功能描述的行为。Checker就是用于查看DUT是否按照功能描述做出期望的行为,识别出所有的设计缺陷。 按照激励的生成方式和检查的功能点分布可以将验证划分为三种方式: 黑盒验证:验证环境不…

【Vue】前端工程化与 webpack

一、前端工程化前端开发1.1 小白眼中的前端开发会写 HTML CSS JavaScript 就会前端开发需要美化页面样式,就拽一个 bootstrap 过来需要操作 DOM 或发起 Ajax 请求,再拽一个 jQuery 过来需要快速实现网页布局效果,就拽一个 Layui 过来1.2 实…

redis事务详解

事务是逻辑上对数据的一组操作,这操作要么一次全部成功或者这操作全部失败,是不可分割的单位 四大特性 原子性,一致性,隔离性,持久性(ACID) redis的事务 redis是弱事务型数据库,并不具备ACID的全部特性 re…

python情感分析:基于jieba的分词及snownlp的情感分析!

情感分析(sentiment analysis)是2018年公布的计算机科学技术名词。 它可以根据文本内容判断出所代表的含义是积极的还是负面的,也可以用来分析文本中的意思是褒义还是贬义。 一般应用场景就是能用来做电商的大量评论数据的分析,…

【Linux】基础IO文件操作

目录 基础IO 重谈文件 重谈C语言的文件操作 系统文件IO 理解文件 文件描述符fd 0 & 1 & 2 文件描述符的分配规则 重定向 使用 dup2 系统调用 在minishell中添加重定向功能 缓冲区 理解缓冲区 再次理解缓冲区 基础IO 重谈文件 1、空文件,也要…