MATLAB入门-矩阵的运算

MATLAB入门-矩阵的运算

本篇文章为学习笔记,课程链接为:头歌

相关知识

常见的矩阵运算有算术运算、关系运算和逻辑运算。MATLAB中的所有变量都是以矩阵的形式存储的,单个变量就相当于一个1*1的矩阵。

算术运算

下面展示的是常见的矩阵之间的算术运算:
在这里插入图片描述
其中矩阵的除运算有两种情况:

  1. 当两个矩阵同维时:矩阵的除运算表示矩阵相应元素相除;
  2. 参与运算的矩阵有一个标量时:运算是标量和矩阵的每一个元素相除。左除和右除的关系为a./b=b.\a,其中a是被除数,b是除数。

其中矩阵的点幂运算有两种情况:

  1. 矩阵的标量乘方:A.^p,其中A为矩阵,p为标量,运算为矩阵每个元素的p次方,计算结果是与A同维的矩阵。
  2. 标量的矩阵乘方:p.^A表示以p为底,分别以A的元素为指数求幂值,计算结果是与A同维的矩阵。

关系运算

Matlab提供了6种关系运算符:
<、>、<=、>=、==、~=(不等于)
关系运算符的运算法则:

  1. 当两个标量进行比较时,直接比较两数大小。若关系成立,结果为1,否则为0。
  2. 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵。
  3. 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵。

逻辑运算

Matlab提供了3种逻辑运算符:
&(与)、|(或)、~(非)
逻辑运算符的运算法则:

  1. 在逻辑运算中,确认非零元素为真(1),零元素为假(0)。
  2. 当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵;
  3. 当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵;
  4. 算术运算优先级最高,逻辑运算优先级最低。

矩阵的转置及常见函数

矩阵的转置就是将矩阵按照列的顺序在行方向展开,在MATLAB里面,这一个操作用运算来实现,例如矩阵A的转置为A’

几种矩阵常用的数据分析函数

  • 求向量的最大值和最小值
    一个向量X的最大值的函数有两种调用格式,分别是:
    (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值;
    (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。
    求向量X的最小值的函数是min(X),用法和max(X)完全相同。
  • 求矩阵的最大值和最小值
    求矩阵A的最大值的函数有3种调用格式,分别是:
  1. max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;
  2. [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;
  3. max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
    求最小值的函数是min,其用法和max完全相同。
  • 求和与求积
    1) sum(X):返回向量X各元素的和。
    2) prod(X):返回向量X各元素的乘积。
    3) sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。
    4) prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。
    5) sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。
    6) prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。
  • 平均值与中值
    求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为:
    1) mean(X):返回向量X的算术平均值。
    2) median(X):返回向量X的中值。
    3) mean(A):返回一个行向量,其第i个元素是A的第i列的算术平均值。
    4) median(A):返回一个行向量,其第i个元素是A的第i列的中值。
    5) mean(A,dim):当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。
    6) median(A,dim):当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。
  • 求矩阵的维数大小
    1) length(X):返回一个值,表示当前矩阵的长度,也就是当前矩阵的最大维数。
    2) size(X):返回当前矩阵的维数,如果是二维矩阵,返回两个数[m,n],分别是矩阵的行数和列数,如果是一位矩阵,返回一个数d,表示矩阵的元素个数。

课堂小练

本关任务是对给定的3个学生的三门成绩进行加权平均,算出学分绩,并且输出学分绩最高的同学的编号及学分绩。

  • 所谓的学分绩就是将给定的所有门成绩,各自乘上对应的学分,再除以总的学分。例如1号同学的三门成绩分别为90、80和70,三门课程的学分分别为3、2、4,那么学分绩的计算公式为 (90x3+80x2+70x4)/(3+2+4)= 78.89,这就是该同学的学分绩。
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【绝㊙️】三年开发内功心得

经典嵌套if-else问题 这个也是老生常谈问题了&#xff0c;不管哪里都能看到。 那如何解决 方法一&#xff08;重要&#xff09;&#xff1a; 如果逻辑分支过多&#xff0c; 即使你不解决嵌套if-slse&#xff0c;至少也要把每个 if的{}里的逻辑抽到一个独立的方法或者工具类…

Gin路由中间件详解

什么是中间件 Gin 中的中间件必须是一个 gin.HandlerFunc 类型,配置路由的时候可以传递多个 func 回调函 数, 最后一个 func 回调函数前面触发的方法 都可以称为中间件。 中间件操作演示 方法一: 直接写在func,回调函数内 r.GET("/middle",func(ctx *gin.Cont…

Tokenview X-ray功能:深入探索EVM系列浏览器的全新视角

Tokenview作为一家领先的多链区块浏览器&#xff0c;为了进一步优化区块链用户的使用体验&#xff0c;我们推出了X-ray&#xff08;余额透视&#xff09;功能。该功能将帮助您深入了解EVM系列浏览器上每个地址的交易过程&#xff0c;以一种直观、简洁的方式呈现地址的进出账情况…

C# 嵌套循环

例子说明 循环遍历xml文件中的信息包括&#xff1a;节点名称&#xff08;一个&#xff09;&#xff0c;节点的串联值&#xff08;一个&#xff09;&#xff0c;节点的属性&#xff08;多个&#xff09; Xml文件 <?xml version"1.0" encoding"utf-8" …

笔记(一)斯坦福CS224W图机器学习、图神经网络、知识图谱

节点和连接构成的图 如何对图数据进行挖掘&#xff1f; 传统机器学习&#xff0c;数据是独立同分布的&#xff0c;解决表格、矩阵、序列等问题 图机器学习处理连接的数据&#xff0c;需要满足以下几个方面&#xff1a; 1、图是任意尺寸输入2、图是动态变化的&#xff0c;有时…

腾讯mini项目-【指标监控服务重构】2023-07-27

今日已办 SigNoz Log Management SigNoz原生支持 OpenTelemetry 来收集日志&#xff0c;SigNoz 在收集器端进行了优化&#xff0c;为SigNoz中的日志添加了不同的功能。 OpenTelemetry 提供了各种接收器和处理器&#xff0c;用于直接通过 OpenTelemetry Collector 或通过 Flue…

里氏替换原则~

里氏替换原则&#xff08;Liskov Substitution Principle&#xff09;是面向对象设计中的一个基本原则&#xff0c;它是由Barbara Liskov提出的。 如果对于每一个类型为Apple的对象1&#xff0c;都有类型为fruit的对象2&#xff0c;使得以fruit定义的所有程序 P 在所有的对象1都…

基于Qt4开发曲线绘制交互软件Plotter

目前市面上有很多曲线绘制软件,但其交互功能较差。比如,想要实现数据的交互,同步联动等,都需要大量繁琐的人工操作。所以讲想开发一款轻量级的曲线绘制交互软件。下面就以此为案例,记录一下基于Qt4的开发过程。 目录 1 需求 2 技术路线 3 开发流程 1 框架搭建 2 菜单…

jenkins自动化脚本集成时钉钉消息未发送

在进行jenkins自动化脚本集成时&#xff0c;需要配置钉钉发送消息。钉钉的配置正确&#xff0c;测试钉钉消息发送成功&#xff0c;但是当构建项目时&#xff0c;却没有收到钉钉消息&#xff0c;报错如下&#xff1a; [钉钉插件]发送消息时报错: java.lang.NullPointerExceptio…

图像处理的创意之旅:逐步攀登Python OpenCV的高峰

目录 介绍OpenCV简介安装OpenCV加载和显示图像图像处理目标检测图像处理的高级应用视频处理综合案例&#xff1a;人脸识别应用总结 介绍 欢迎来到本篇文章&#xff0c;我们将一起探索如何使用Python中的OpenCV库进行图像处理和计算机视觉任务。无论您是初学者还是有一定编程…

sqlserver union和union all 的区别

1.首先在数据库编辑1-40数字&#xff1b; 2.查询Num<30的数据&#xff0c;查询Num>20 and Num<40的数据&#xff0c;使用union all合并&#xff1b; 发现30-20的数字重复了&#xff0c;可见union all 不去重&#xff1b; 3.查询Num<30的数据&#xff0c;查询Num…

Unity Animation、Animator 的使用(超详细)

文章目录 1. 添加动画2. Animation2.1 制作界面2.2 制作好的 Animation 动画2.3 添加和使用事件 3. Animator3.1 制作界面3.2 一些参数解释3.3 动画参数 4. Animator中相关类、属性、API4.1 类4.2 属性4.3 API4.4 几个关键方法 5. 动画播放和暂停控制 1. 添加动画 选中待提添加…