【MATLAB图解教程1】MATLAB基础知识

 ⭐️引言⭐️ 

        大家好哇!马上就要数学建模比赛了,这周Sonesang将为大家带来MATLAB基础教程,希望在准备数学建模的过程中,能够和大家一起分享学习过程!

 📒博客首页:Sonesang的博客

🎉欢迎关注🔎点赞👍收藏⭐️留言📝

❤️ :热爱Java与算法学习,期待一起交流!

🙏作者水平很有限,如果发现错误,求告知,多谢!

🌺有问题可私信交流!!!


目录

🍡 1.1 MATLAB系统环境

🥟1.MATLAB操作界面的组成

🍭(1)MATLAB主窗口

🍦(2)命令行窗口

🍪(3)当前文件夹窗口 如何设置当前文件夹呢?

🥧(4)工作区窗口

🍇2.MATLAB的搜索路径​编辑

🍈 1.2 MATLAB数值数据

🍉1.数值数据类型的分类

🍊(1)整型

🍋(2)浮点型

🍌(3)复型

🍍2.数值数据的输出格式

🥭 3.常用数学函数

🍎(1)函数的调用格式:

🍏(2)常用函数的应用

🍐 1.3 变量及其操作

🍑1.变量与赋值语句

🍒2.预定义变量

🍓3.变量的管理

🫐  (1)内存变量的删除与修改

🥝(2)who命令与whos命令

🍅(3)内存变量文件

🫒 1.4 MATLAB矩阵的表示

🥥1.矩阵的建立

🥑(1)利用直接输入法建立矩阵:

🍆(2)利用已建好的矩阵建立更大的矩阵:

🥔(3) 可以用实部矩阵和虚部矩阵构成复数矩阵

🥕2.冒号表达式

🌽3.结构矩阵和单元矩阵

 🌶(1)结构矩阵

🫑(2)单元矩阵

🥒 1.5 矩阵元素的引用

🥬1.矩阵元素的引用方式

🥦(1)通过下标来引用矩阵的元素

🧄(2)通过序号来引用

🧅(3)矩阵中常用的两个函数

🍄2.利用冒号表达式获得子矩阵

🍞3.利用空矩阵删除矩阵的元素

🍌4.改变矩阵的形状

🍐 1.6 MATLAB基本运算

🍑1.算术运算

🥝(1)基本算术运算

🥝(2)点运算

🫐2.关系运算

🍏3.逻辑运算

🍍 1.7 字符串处理

🍏1.字符串的表示

🍒 2.字符串的操作

🍇(1) 字符串的执行

🍉(2)字符串与数值之间的转换 

🍍 (3)字符串的比较

🥭(4)字符串的查找与替换


🍡1.1 MATLAB系统环境

🥟1.MATLAB操作界面的组成

 MATLAB主窗口

 命令行窗口

 当前文件夹窗口

 工作区窗口

🍭 (1)MATLAB主窗口

 功能区

 快速访问工具栏

 当前文件夹工具栏

🍦 (2)命令行窗口

命令行窗口用于输入命令并显示命令的执行结果

🍪(3)当前文件夹窗口 如何设置当前文件夹呢?

  1.  在当前文件夹工具栏或当前 文件夹窗口中选择某文件夹 为当前文件夹
  2.  使用cd命令

🥧(4)工作区窗口

用于观察程序中的变量,可以删除或者修改

🍇2.MATLAB的搜索路径

变量搜索 

 问题来了,我们使用同名变量导致系统预定义的sin函数被我们覆盖掉了

如果这时我们想要调用sin函数,怎么办呢?

可以在MATLAB工作区窗口删除定义的sin变 量,那么再用sin就代表内部函数了。

文件搜索路径

  •  用path命令设置文件搜索路径。例如: >> path(path,'e:\work')
  •  用对话框设置文件搜索路径。

  1. 如果在当前文件夹和搜索路径文件夹下建立了一个同名的M 文件,那么在命令行窗口输入文件名时,执行哪个文件?
  2. 如果用户建立的文件既没有保存在当前文件夹下,也没有 保存在文件搜索路径中,那么在命令行窗口输入文件名时, 会出现什么信息?

第一个问题根据MATLAB的搜索路径,程序文件的搜索顺 序是首先在当前文件夹中搜索,然后再在文件搜索路径 中的文件夹中搜索,所以执行的是当前文件夹下的M文件。 第二个问题,同样根据MATLAB的搜索路径,如果用户建 立的文件既没有保存在当前文件夹下,也没有保存在文 件搜索路径中,那么MATLAB就找不到这个文件,系统会 给出错误提示信息


🍈1.2 MATLAB数值数据

🍉1.数值数据类型的分类

🍊(1)整型

  •  无符号整数:无符号8位整数、无符号16位整数、无符号32位整数、 无符号64位整数。
  •  带符号整数:带符号8位整数、带符号16位整数、带符号32位整数、 带符号64位整数。
  • 无符号8位整数数据范围:00000000~11111111(0~2 8-1)。
  • 带符号8位整数数据范围:10000000~01111111(-2 7~2 7-1)。

 🍋(2)浮点型

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

🍌(3)复型

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

  •  real函数:求复数的实部
  •  imag函数:求复数的虚部

🍍2.数值数据的输出格式

format命令的格式: format 格式符

注意:format命令只影响数据输出格式 ,而不影响数据的计算和存储。

🥭 3.常用数学函数

🍎(1)函数的调用格式

        函数名(函数自变量的值)

 函数在运算时是将函数逐项作用于矩阵的每个元素上,所以最后运算的结果就是一个与自变量同型的矩阵。

🍏(2)常用函数的应用

① 三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”,以示区别。

② abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。

 ③用于取整的函数有fix、floor、ceil、round。

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

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

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

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

④常用函数举例

rem() : 取余函数

isprime() : 判断素数的函数

find() : 返回非 0 元素的下标

        返回前k个非零元素的下标
                find(vector,k)
                或find(vector,k,‘first’)

        返回后k个非零元素的下标

                find(vector,k,'last')

注意: matlab的下标和我们学过的其他高级语言不同,它的下标是从1开始的。


🍐1.3 变量及其操作

🍑1.变量与赋值语句

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

 

此外:

  • 变量名区分字母的大小写。
  • 标准函数名以及命令名一般用小写字母。

赋值语句两种格式:

        变量=表达式

        表达式

🍒2.预定义变量

预定义变量是在MATLAB工作空间中驻留,由系统本身定义的变量。

常用的预定义变量:

  •  ans是默认赋值变量
  •  i 和 j 代表虚数单位 
  •  pi代表圆周率 
  •  NaN代表非数

🍓3.变量的管理

🫐(1)内存变量的删除与修改

直接在工作区里面,找到想要修改的变量,右击,选择删除或者重命名。

 🥝(2)who命令与whos命令

who可以查看程序中现有的变量名

whos可以查看所有变量的size、bytes、class、attribuites

🍅(3)内存变量文件

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

 save命令:创建内存变量文件。  load命令:装入内存变量文件。


🫒 1.4 MATLAB矩阵的表示

🥥1.矩阵的建立

🥑(1)利用直接输入法建立矩阵:

将矩阵的元素用中括号括起 来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔。

🍆(2)利用已建好的矩阵建立更大的矩阵:

一个大矩阵可以由已经建立好的小矩阵拼接而成。

 

🥔(3) 可以用实部矩阵和虚部矩阵构成复数矩阵

🥕 2.冒号表达式

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

冒号表达式是指定首尾和步长来产生向量;

而linspace(a,b,n)则是知道首尾和总元素个数产生的。

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

🌽3.结构矩阵和单元矩阵

🌶(1)结构矩阵

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

格式为:

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

结构矩阵中的每一个元素内部还包含不同的成员,即其中数据类型不同,但是逻辑相关。以学生举例:(其中包含学号,姓名,性别;)

它的创建与C语言中的结构体很类似,往下看:

a(1).x1=10;
a(1).x2='liu';
a(1).x3=[1,3;3,3];

a(2).x1=20;
a(2).x2='lu';
a(2).x3=[2,2;3,4];

a(3).x1=30;
a(3).x2='u';
a(3).x3=[3,2;3,4];

 如图变量区显示的就是一个结构矩阵

🫑(2)单元矩阵

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


🥒 1.5 矩阵元素的引用

🥬1.矩阵元素的引用方式

🥦(1)通过下标来引用矩阵的元素

A(3,2)表示A矩阵第3行第2列的元素。

如果给出的行下标或者列下标超过原来矩阵的行或者列下标,MATLAB将会自动扩展原来的矩阵,并将扩展后没有赋值的矩阵元素的值设置为0。

🧄(2)通过序号来引用

  1. 在MATLAB中,矩阵元素按列存储,即首先存储矩阵的第一列元 素,然后存储第二列元素,…,一直到矩阵的最后一列元素。
  2. 矩阵元素的序号就是矩阵元素在内存中的排列顺序。

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

🧅(3)矩阵中常用的两个函数

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

 D = sub2ind ( [2,3] , [1,2;2,2] , [1,1;3,2] )

这个代码的意思是:把两行三列的矩阵里面下标为(1,1),(2,1),(2,3),(2,2)的元素对应的存储序号找出来赋值给D矩阵。

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

 

 找到三行三列的方阵里面序号为1,3,5的元素返回三个元素的下标,然后赋值给向量组 [ i , j ] 

🍄 2.利用冒号表达式获得子矩阵

 

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

🍞3.利用空矩阵删除矩阵的元素

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

🍌4.改变矩阵的形状

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

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

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

假定现在需要堆叠的矩阵有n个数,那么A(:)相当于reshape(A,n,1)


🍐1.6 MATLAB基本运算

🍑1.算术运算

🥝(1)基本算术运算

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

 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为标量。

🥝(2)点运算

 点运算符:.*、./、.\和.^。

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

🫐2.关系运算

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

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

当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标 量关系运算规则逐个进行,最终的关系运算的结果是一个与原矩阵同型的矩 阵,它的元素由0或1组成。

当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元 素按标量关系运算规则逐个比较,最终的关系运算的结果是一个与原矩阵同 型的矩阵,它的元素由0或1组成。

🍏3.逻辑运算

逻辑运算符:&(与)、|(或)和~(非)。

设参与逻辑运算的是两个标量a和b,那么运算规则为:

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

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

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

若参与逻辑运算的是两个同型矩阵,那么将对矩阵相同位置上的元 素按标量规则逐个进行运算,最终运算结果是一个与原矩阵同型的 矩阵,其元素由1或0组成。

若参与逻辑运算的一个是标量,一个是矩阵,那么将在标量与矩阵 中的每个元素之间按标量规则逐个进行运算,最终运算结果是一个 与矩阵同型的矩阵,其元素由1或0组成。


🍍1.7 字符串处理

🍏1.字符串的表示

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

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

 建立一个字符串向量,然后对该向量做如下处理:

① 取第1~5个字符组成的子字符串。

② 将字符串倒过来重新排列。

③ 将字符串中的小写字母变成相应的大写字母,其余字符不变。

④ 统计字符串中小写字母的个数。

🍒 2.字符串的操作

🍇(1) 字符串的执行

格式: eval(s)    字符串

🍉(2)字符串与数值之间的转换 

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

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

🍍 (3)字符串的比较

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

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

字符串比较函数用于判断字符串是否相等,有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。

🥭(4)字符串的查找与替换

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

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


如果文章对你有所帮助,还望能给点三连支持一下,非常感谢!!!  

简单易懂,最适合傻瓜级初学者! 第一章 简介 1.1 计算机应用与工程问题 1.2 工程问题的解决方式 1.3 认识你/你的电脑工作环境 第二章 MATLAB 简介 2.1 什么是MATLAB 2.2 基本功能 2.2.1 MATLAB 的视窗环境 2.2.2 简易数学 2.2.3 变数 2.2.4 其它功能 2.3 线上说明 2.4 阵列与矩阵 2.4.1 简易阵列 2.4.2 建立阵列 2.4.3 阵列运算 2.4.4 特殊矩阵 2.4.5 阵列运算的特色 2.5 简易绘图 2.6 输入及输入 2.6.1 交谈式的输入 2.6.2 输出格式 2.7 如何撰写 MATLAB 程式 2.7.1 如何在自己的目录执行程式 2.8 储存及读取数据 2.9 其它绘图功能 2.10问题范例:涡轮螺旋桨引擎 第三章 进阶的绘图功能 3.1 绘图选项 3.1.1 横轴和纵轴的控制 3.1.2 子图 3.1.3 图形放大及缩小 3.1.4 函数分布的快速绘图 3.1.5 列印功能 3.1.6 其它的功能 3.2 三维绘图 3.1.1 三维的曲线绘图 3.1.2 曲面及等值线绘图 第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 长条分布函数 4.3 选择指令及函数 4.3.1 关系及逻辑运算 4.3.2 if-else-end 语法 4.4 范例问题:语音讯号分析 4.5 使用者自定函数 4.6 乱数 4.6.1 均匀乱数 4.6.2 常态乱数 4.7 矩阵运算函数 4.8 回圈 4.8.1 For 回圈 4.8.2 While 回圈 第五章 线性代数与矩阵 --- 蛋白质分子量分析 5.1 矩阵运算 5.1.1 基本矩阵运算元 5.1.2 矩阵多项式 5.2 范例问题:蛋白质的分子量计算 5.3 矩阵函数 5.3.1矩阵矩阵秩与行列式 5.3.2 特徵值与特徵向量 5.3.3 矩阵分解 第六章 解联立方程式 --- 电路分析 6.1 利用矩阵解法 6.2 范例问题:电路分析 第七章 内插及曲线拟合 --- 机械手臂路径 7.1 内插 7.1.1 一维内插 7.1.2 二维内插 7.1.3 Spline 内插 7.2 范例问题:机械手臂路径 7.3 曲线契合 7.3.1 线性回归 7.3.2 多项式回归 7.3.3 多项式契合及函数计算 第八章 解方程式根 8.1 多项式的根 8.2 非线性方程式的实根 第九章 数值微分及积分 --- 管流分析 9.1 数值积分 9.1.1 梯形法 9.1.2 二次函数法 9.2 范例问题:管流分析 9.3 数值微分 9.3.1 差分表示法 9.3.2 差分函数 第十章 解常微分方程式 --- 发动机性能分析 10.1 微分方程式 10.2 阮奇-库达方法 10.3 范例问题:飞机发动机的加速性能分析 10.4 高阶常微分方程式 第十一章 符号运算 --- 气象气球 11.1 符号代数 11.1.1 符号表示式 11.1.2 数学式的化简 11.1.3 符号表示式的运算 11.2 解方程式 11.2.1 一般方程式 11.2.2 常微分方程式 11.3 微分与积分 11.3.1 微分 11.3.2 积分 11.4 范例问题:气象气球
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸福西西弗斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值