【一】MATLAB基础知识

news2024/11/20 2:42:47

【一】MATLAB基础知识

1 数值数据类型的分类

整型

无符号整数:无符号8位整数、无符号16位整数、无符号32位整数、 无符号64位整数。

带符号整数:带符号8位整数、带符号16位整数、带符号32位整数、 带符号64位整数。

无符号8位整数数据范围:00000000-11111111(0-2的8次方-1)。

带符号8位整数数据范围:10000000-01111111(-2 的7次方-2的7次方-1)。

int8(0-255)

uint8(-128~127)

浮点型

single函数:将其他类型的数据转换为单精度型。

double函数:将其他类型的数据转换为双精度型。

复数型

复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,虚数单位用i或j来表示。

real函数:求复数的实部

imag函数:求复数的虚部

2 常用函数

exp(A):以为底的指数函数

sin(A):三角函数

sind(A):三角函数(以角度为单位)

在这里插入图片描述

abs(A):取绝对值(可以求实数的绝对值、复数的模、字符串的ASCII码值)

在这里插入图片描述

fix(A),floor(A),ceil(A),round(A):取整函数

round函数是按照四舍五入的规则来取整。

ceil是向上取整,取大于等于这个数的第一个整数。

floor是向下取整,取小于等于这个数的第一个整数。

fix是固定取靠近0的那个整数,也就是舍去小数取整。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xQuLdNVq-1682065221784)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421151327102.png)]

3 变量及其操作

变量与赋值语句:

在MATLAB中,变量名是以字母开头,后接字母、数字或下画线的字符序列, 最多63个字符。

tips:

变量名区分字母的大小写。

标准函数名以及命令名一般用小写字母。

可以通过函数who和whos查询当前变量

赋值语句两种格式:

变量=表达式

表达式

eg:

预定义变量

ans是默认赋值变量

i和j代表虚数单位

pi代表圆周率

NaN代表非数

内存变量文件:

用于保存MATLAB工作区变量的文件叫做内存变量文件,其扩展名为.mat ,也叫MAT文件。

save命令:创建内存变量文件。

load命令:装入内存变量文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vuXzO8IR-1682065221784)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421151903739.png)]

4 矩阵的表示

矩阵的建立:

方法1:利用直接输入法建立矩阵:将矩阵的元素用中括号括起 来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗 号或空格分隔,不同行的元素之间用分号分隔。

方法2:利用已建好的矩阵建立更大的矩阵: 一个大矩阵可以由已经建立好的小矩阵拼接而成。

在这里插入图片描述

方法3:可以用实部矩阵和虚部矩阵构成复数矩阵。

在这里插入图片描述

冒号表达式:

第一种:

在这里插入图片描述

省略步长e2,则步长为1。例如, t=0:5与t=0:1:5等价。

在这里插入图片描述

第二种:

在这里插入图片描述

当n省略时,自动产生100个元素。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aeeius7Y-1682065221787)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421152415938.png)]

结构矩阵和单元矩阵

结构矩阵由结构数据构成的矩阵就是结构矩阵,结构矩阵里的每个元素 就是结构数据类型。

格式为: 结构矩阵元素.成员名=表达式

在这里插入图片描述

建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元 素用大括号括起来

5 矩阵元素的引用

第一种:通过下标来引用

如果给出的行下标或列下标大于原来矩阵的行数和列数, 那么MATLAB将自动扩展原来的矩阵,并将扩展后没有赋值的矩阵.元素置为0。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KVcUwfNp-1682065221789)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421152758413.png)]

第二种:通过序号来引用

在MATLAB中,矩阵元素按列存储,即首先存储矩阵的第一列元素,然后存储第二列元素,…,一直到矩阵的最后一列元素。

矩阵元素的序号就是矩阵元素在内存中的排列顺序。

序号与下标是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序 号为(j-1)×m+i

sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0uMtBQO-1682065221789)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153106445.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FB1nrBpd-1682065221790)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153118508.png)]

ind2sub函数:将把矩阵元素的序号转换成对应的下标,其调用格式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oj5VYeiI-1682065221791)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153302221.png)]

6 子矩阵

子矩阵是指由矩阵中的一部分元素构成的矩阵。

A(i,:) 第i行的全部元素

A(:,j) 第j列的全部元素

A(i:i+m,k:k+m) 第i~i+m行内且在第k~k+m列中的所有元素

A(i:i+m,:) 第i~i+m行的全部元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HR9rpnhk-1682065221791)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153452041.png)]

end运算符:表示某一维的末尾元素下标。

在这里插入图片描述

利用空矩阵删除矩阵的元素

空矩阵是指没有任何元素的矩阵。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e87xGD62-1682065221793)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153653399.png)]

改变矩阵的形状

reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重 新排成m×n的二维矩阵。

注意:reshape函数只是改变原矩阵的行数和列数,但并不改 变原矩阵元素个数及其存储顺序。

在这里插入图片描述

A( : ) :将矩阵A的每一列元素堆叠起来,成为一个列向量。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nTx7IjxX-1682065221794)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421153746638.png)]

7 MATLAB基本运算

基本算术运算符:+(加)、-(减)、*(乘)、/(右除)、(左除)、 ^(乘方)。

MATLAB的算术运算是在矩阵意义下进行的。

单个数据的算术运算只是矩阵运算的一种特例。

注意,MATLAB的运算是在矩阵意义下进行的,单个数据的算术运算只 是矩阵运算的一种特例。

加减运算

若两矩阵同型,则运算时两矩阵的相应元素相加减。

若两矩阵不同型,则MATLAB将给出错误信息。

一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的 每一个元素进行加减运算。

乘法运算

矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则 称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。

如果两者的维数或大小不相容,则将给出错误信息,提示用户 两个矩阵是不可乘的。

除法运算

在MATLAB中,有两种矩阵除法运算:右除/和左除\。 如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A\B等效 于inv(A)*B。

乘方运算

一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。

点运算

点运算符:.* ./ .\ .^

两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。

在这里插入图片描述

关系运算

关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等 于)、==(等于)、~=(不等于)。

当两个比较量是标量时,直接比较两数的大小。若关系成立,关系 表达式结果为1,否则为0。

在这里插入图片描述

逻辑运算

逻辑运算符:&(与)、|(或)和~(非)。 设参与逻辑运算的是两个标量a和b,那么运算规则为:

a&b a、b全为非零时,运算结果为1,否则为0。

a|b a、b中只要有一个为非零时,运算结果为1 。

~a 当a为零时,运算结果为1;当a为非零时,运算结果为0。

8 字符串处理

字符串表示

在MATLAB中,字符串是用单引号括起来的字符序列。

若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示。

在这里插入图片描述

字符串执行

函数:eval(s)

s代表字符串

在这里插入图片描述

字符串与数值之间的转换

abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。

char函数可以把ASCII码矩阵转换为字符串矩阵。

在这里插入图片描述

字符串的比较

字符串的比较有两种方法:利用关系运算符或字符串比较函数。

关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1 ,要么是0。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUvxBIkx-1682065221797)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421154733389.png)]

字符串比较函数用于判断字符串是否相等,有4种比较方式,函数如下:

strcmp(s1,s2):用来比较字符串s1和s2是否相等,如果相等,返回结果为1,否则 返回0。

strncmp(s1,s2,n):用来比较两个字符串前n个字符是否相等,如果相等,返回1, 否则返回0。

strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相 等,返回1,否则返回0。

strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否 相等,如果相等,返回1,否则返回0。

字符串的查找与替换

findstr(s1,s2):返回短字符串在长字符串中的开始位置。

strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符 串s3。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yWBzQPT9-1682065221797)(C:\Users\59936\AppData\Roaming\Typora\typora-user-images\image-20230421154841492.png)]

1,s2,n):用来比较两个字符串前n个字符是否相等,如果相等,返回1, 否则返回0。

strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相 等,返回1,否则返回0。

strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否 相等,如果相等,返回1,否则返回0。

字符串的查找与替换

findstr(s1,s2):返回短字符串在长字符串中的开始位置。

strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符 串s3。

[外链图片转存中...(img-yWBzQPT9-1682065221797)]

学习视频链接:科学计算与MATLAB语言_中南大学_中国大学MOOC(慕课) (icourse163.org)

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

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

相关文章

树和二叉树(概念及其结构)

1.树概念及结构&#xff08;了解&#xff09;‘ 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它 叫做树是因为它看起来像一颗倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶…

php+vue+mysql校园大学生兼职信息网站系统

商家功能模块 商家通过点击后台管理&#xff0c;进入页面可以进行首页、个人中心、热门兼职管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理等功能模块&#xff0c;进行相对应操作 兼职接单管理&#xff1a;通过兼职接单管理可以进行获取兼职名称、专业、分类、…

佳电股份:智能互联 绿色驱动 拥抱未来

4月 13—15 日&#xff0c;2023年易派客工业品展览会、石油石化工业展览会、第七届中国石油和化工行业采购年会&#xff0c;在苏州国际博览中心举行。在本次展会上&#xff0c;佳电股份展出了超高速永磁电机、超高效高压三相异步电动机、智慧电机以及配套服务等主要产品。 哈尔…

linux 下 mysql 平滑升级,不暴力

只适合版本跨越较小的&#xff0c;如果从5到8这种不支持 查看当前版本5.6.40,升级到5.6.50&#xff08;因为一些漏洞的原因&#xff09; 1&#xff1a;下载需要升级的版本 2&#xff1a;解压 3&#xff1a;停止当前的mysql服务 service mysql stop 4&#xff1a;备份原先系…

Spring Boot的基础使用和< artifactId>spring-boot-maven-plugin</ artifactId>爆红的处理

Spring Boot的基础使用和< artifactId>spring-boot-maven-plugin</ artifactId>爆红的处理 Spring Boot概述 微服务概述 微服务Microservices是一种软件架构风格&#xff0c;他是以专注于单一责任与功能的小型功能区块Small Building Blocks 为基础&#xff0c;…

FL Studio21安装体验试用下载fl水果支持最新中文语言功能

FL Studio是什么&#xff1f;如果你打算将来朝着艺术和音乐方向发展&#xff0c;那么学习音乐理论和音乐制作就是一门基础了。FL Studio 21还提供了几十个内置的音乐和声音样本库&#xff0c;以及多种音频效果处理器和虚拟乐器&#xff0c;包括合成器、鼓机、效果器等。这些插件…

【C++初阶】:类与对象(上)

类与对象 一.面向对象的初步认识二.初步认识类三.类的权限四.类的声明和定义五.封装六.类的实例化七.类的大小 一.面向对象的初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 例如洗衣服 而C是基于…

GFD233A 3BHE022294R0103

GFD233A 3BHE022294R0103 ABB KUC321AE PLC模块 HIEE300698R0001 KU C321 AE01 ABB KUC711 3BHB004661R0001 高压变频模块 KUC711AE ABB KUC755AE105 3BHB005243R0105 驱动控制系统模块 KUC755 ABB KUC755AE106 3BH005243R006 控制系统模块 KU C755 AE 106 ABB LDGRB-01 3BSE01…

react-10 函数式写法rsf,配合HOOKS钩子函数

函数式跨组件通信&#xff1a; useContext 实现跨组件传值&#xff0c;内层组件获取context中的值 用来解决同一个父组件的后代组件之间的数据共享问题, 同一个父组件的所有后代组件都可以用 useContext() 从最近的 context 中获取. 性能优化&#xff1a;useMemo &#xff1a…

cv2 五边形矫正,python ,多边形透视变换

#图像透视变换--矫正 #根据最大的5边形进行透视变换 #获取最大和最次长 周长对应的轮廓 #该轮廓进行5边形拟合逼近 #进行透视变换&#xff1a;应用两线交点 import numpy as np import cv2#大津阈值法 OSTU def myApprox(con,pointnum5):# con为预先得到的最大轮廓num 0.001…

2023年CDGA/CDGP数据治理工程师认证报名需要什么条件?

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

mybatis01-Lombok、mybatis原理、参数处理、模糊查询、结果封装

mybatis01 Lombok 一、Lombok的使用 Lombok 是一个Java库&#xff0c;能自动插入编辑器并构建工具&#xff0c;简化Java开发。通过加注解的方式&#xff0c;不需要为类编写getter、setter、constructor或equals&#xff0c;同时可以自动化日志变量。 第一步、在pom.xml中加…

基于动态车辆模型的百度Apollo LQR和MPC横向控制算法分析(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 Apollo 是由百度发起的一个高效、灵活的基于自动驾驶的测试和研发的平台。Apollo 的主要逻辑为局部规划 轨道跟踪。在局部规划…

4.1 插值概念与基础理论

学习目标&#xff1a; 学习插值的基础理论可以从以下几个方面入手&#xff1a; 理解插值的概念&#xff1a;插值是指根据已知数据点的函数值&#xff0c;构造出经过这些点的函数&#xff0c;用于在已知数据点之间估计函数值。可以将其看做是一种函数逼近的方法。 掌握插值多项…

【Linux】MySQL高可用之Mysql读写分离实践

一、MySQL读写分离原理 读写分离就是在主服务器上修改&#xff0c;数据会同步到从服务器&#xff0c;从服务器只能提供读取数据&#xff0c;不能写入&#xff0c;实现备份的同时也实现了数据库性能的优化&#xff0c;以及提升了服务器安全。 二、读写分离实践 绝大多数的企业的…

居家办公远程控制电脑怎么操作

居家办公或者混合办公&#xff0c;正成为一种新的流行趋势。如何更好地居家办公&#xff0c;实现更高的工作效率和更舒适办公体验&#xff0c;我们总结出如下建议。 无论您是每周远程工作几天还是全职工作&#xff0c;无论是出于选择还是因为健康状况或天气事件&#xff0c;都…

部署YUM仓库及NFS共享服务

一、YUM仓库服务 1&#xff09;YUM概述 YUM&#xff08;Yellow dog Updater Modified&#xff09; 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 linux本身就是以系统简洁为自身优势&#xff0c;所以在安装操作系统的时候并没有将…

Kaggle往期赛 | 多目标推荐系统大赛baseline

来源&#xff1a;深度之眼 作者&#xff1a;比赛教研部 编辑&#xff1a;学姐 Kaggle OTTO – Multi-Objective Recommender System多目标推荐系统大赛 赛题分析baseline 1、赛题链接 https://www.kaggle.com/competitions/otto-recommender-system/overview 2、赛题描述 本…

聚观早报 |字节与Meta争夺VR开发者;苹果设备无故要求输入ID密码

今日要闻&#xff1a;字节与Meta争夺VR应用开发者&#xff1b;苹果设备无故要求输入ID密码&#xff1b;余承东称25年是智能电动汽车分水岭&#xff1b;小鹏回应G6售价及配置信息曝光&#xff1b;亚马逊将在爱尔兰裁员200人 字节与Meta争夺VR应用开发者 4 月 14 日消息&#xf…

运筹说 第89期|网络计划-网络计划的优化

通过画网络图并计算时间参数&#xff0c;我们已得到了一个初步的网络计划&#xff0c;而网络计划技术的核心却在于从工期、成本、资源等方面对这个初步方案做进一步的改善和调整&#xff0c;以求得最佳效果&#xff0c;这一过程&#xff0c;就是网络计划的优化。接下来让我们跟…