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.rhkb.cn/news/129840.html

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

相关文章

vue3:22、vue-router的使用

import { createRouter, createWebHistory } from vue-router//history模式&#xff1a;createWebHistory //hash模式&#xff1a;createWebHashHistory//vite中的环境变量 import.meta.env.BASE_URL 就是vite.config.js中的base配置项 const router createRouter({history:…

C高级Day5

课后作业&#xff1a; rootlinux:~/shell# cat qh.sh #!/bin/bash function sum_array() {local brr($*) local sum0for i in ${brr[*]} dosum$((sum i))doneecho $sum } arr(1 2 3 4 5) result$(sum_array ${arr[*]}) echo "数组的和为: $result"#!/bin/bash fun…

上位机编程 VS 嵌入式编程:哪个更有前途?揭秘行业发展秘密

上位机和嵌入式是计算机的两个具体应用领域&#xff0c;它们在语言、工具和应用方面存在一定的差异。上位机更加注重高层逻辑和抽象&#xff0c;提供了多种语言和工具供开发者选择。而嵌入式开发通常局限于使用C语言&#xff0c;并且在过去甚至需要使用汇编语言&#xff0c;开发…

大数据技术之Hadoop:Yarn集群部署(七)

目录 一、部署说明 二、集群规划 三、开始配置 3.1 MapReduce配置文件 3.2 YARN配置文件 3.3 分发配置文件 四、集群启停 4.1 命令介绍 4.2 演示 4.3 查看YARN的WEB UI页面 一、部署说明 Hadoop HDFS分布式文件系统&#xff0c;我们会启动&#xff1a; NameNode进…

vue使用谷歌地图实现地点查询

效果 代码 首先在index.html中引入谷歌地图资源 <script src"https://maps.googleapis.com/maps/api/js?key你的api密钥&librariesplaces"></script>页面中 <template><div class"pac-card div-style" id"pac-card"…

IIS短文件名泄露漏洞复现

IIS短文件名泄露漏洞复现 前言一、漏洞描述二、漏洞原理1.什么是短文件2.短文件特征 三、漏洞验证三、漏洞防御总结 前言 IIS短文件名泄露漏洞比较老了&#xff0c;而且只适合于windowsiisasp的网络结构&#xff0c;所有如下的复现步骤看下就行了&#xff0c;关键是要弄懂原理…

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用 1 AFM模型原理及其实现 沿着特征工程自动化的思路&#xff0c;深度学习模型从 PNN ⼀路⾛来&#xff0c;经过了Wide&#xff06;Deep、Deep&#xff06;Cross、FNN、DeepFM、NFM等模型&#xff0c;进⾏了大量的、基于不…

遥感数据与作物模型同化技术应用

基于过程的作物生长模拟模型DSSAT是现代农业系统研究的有力工具&#xff0c;可以定量描述作物生长发育和产量形成过程及其与气候因子、土壤环境、品种类型和技术措施之间的关系&#xff0c;为不同条件下作物生长发育及产量预测、栽培管理、环境评价以及未来气候变化评估等提供了…

大数据课程K20——Spark的SparkSQL概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的SparkSQL由来; ⚪ 了解Spark的SparkSQL特点; ⚪ 了解Spark的SparkSQL优势; ⚪ 掌握Spark的SparkSQL入门; 一、SparkSQL概述 1. 概述 Spark为结构化数据处理引入了一个称…

Python自动化测试(1)-自动化测试及基本技术手段概述

生产力概述 在如今以google为首的互联网时代&#xff0c;软件的开发和生产模式都已经发生了变化&#xff0c; 在《参与感》一书提到&#xff1a;某位从微软出来的工程师很困惑&#xff0c;微软在google还有facebook这些公司发展的时候&#xff0c;为何为感觉没法有效还击&…

ajax day3

3、将普通对象转为查询参数字符串形式&#xff1a; 创建URLSearchParams参数&#xff0c;再用toString方法转为字符串 4、xhr对象 请求参数&#xff1a;body参数 5、promise promise对象一旦被兑现或拒绝&#xff0c;就是已敲定了&#xff0c;状态无法再被改变。故此处先执行…

20230911 Shell指令数组以及函数值传递,值返回

实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数 #!/bin/bashfunction fun() {sum0for ((i0;i<$var;i))do(( sumarr[i] ))doneecho $sum } read -p "输入该数组个数: " var for((j0;j<$var;j)) doread -p "输入数组第$j个值: " arr[j] …

1.若依框架介绍与环境搭建

文章目录 若依框架介绍官网地址相关技术栈 环境搭建1.git介绍下载与安装学习资料 2.maven介绍与下载环境变量配置资料学习 3.node4.java5.idea6.vscode7.mysql可视化工具HeidiSql 8.redis参考资料遇到问题 若依框架介绍 官网地址 若依框架官网地址&#xff1a;http://www.ruo…

IDEA插件的在线离线安装

插件的使用 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道&#xff0c;IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的&#xff0c;只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已&#xff0c;开发了很多优秀的插件。 官网插件库&…

Excel相关笔记

1、找出B列中A列没有的数据并放在C列 公式&#xff1a;IF(ISNA(VLOOKUP(B1,$A 1 : 1: 1:A$4,1,FALSE)),B1,“”)

Python小知识 - Python爬虫进阶:如何克服反爬虫技术

Python爬虫进阶&#xff1a;如何克服反爬虫技术 爬虫是一种按照一定的规则&#xff0c;自动抓取网页信息的程序。爬虫也叫网页蜘蛛、蚂蚁、小水滴&#xff0c;是一种基于特定算法的自动化程序&#xff0c;能够按照一定的规则自动的抓取网页中的信息。爬虫程序的主要作用就是从一…

【Spring】aop的底层原理

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理 Spring 中的切面编程aop的底层原理和重点注意的地方 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以…

【SpringBoot】统一功能处理

目录 &#x1f383;1 拦截器 &#x1f380;1.1 拦截器的代码实现 &#x1f3a8;1.2 拦截器的实现原理 &#x1f9f6;2 拦截器应用——登录验证 &#x1f9ba;3 异常统一处理 &#x1f3ad;4 统一数据返回格式 &#x1f9e4;4.1 为什么需要统一数据返回格式 &#x1f9e3;4.2 统…

webserver 同步 I/O 模拟 Proactor 模式的工作流程

服务器基本框架、I/O 模型、事件处理模式 一、服务器编程基本框架 虽然服务器程序种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理。 二、五种 I/O 模型 阻塞/非阻塞、同步/异步&#xff08;网络IO&#xff09;_呵呵哒(&#xffe3;▽&#xffe3;)&…

使用dockerfile文件部署Python+PyWebIO项目

1、安装docker 教程详见之前的内容。https://blog.csdn.net/weixin_44691253/category_12101661.html 2、打包好Python项目 之前的文章中有提到我编写测试工具使用的框架&#xff1a;PythonRequestsPyWebIO框架详解&#xff0c;编写测试工具提高团队测试效率 打包项目时&am…