MATLAB主窗口
命令行窗口
当前 文件夹 窗口
工作区窗口

功能区
快速访问工具栏
当前文件夹工具栏

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

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

变量搜索

问题来了,我们使用同名变量导致系统预定义的sin函数被我们覆盖掉了
如果这时我们想要调用sin函数,怎么办呢?
可以在MATLAB工作区窗口删除定义的sin变 量,那么再用sin就代表内部函数了。
文件搜索路径

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


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

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

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

① 三角函数有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“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开始的。
在MATLAB中,变量名是以字母开头,后接字母、数字或下画线的字符序列, 最多63个字符。

此外:
赋值语句两种格式:
变量=表达式
表达式
预定义变量是在MATLAB工作空间中驻留,由系统本身定义的变量。
常用的预定义变量:
直接在工作区里面,找到想要修改的变量,右击,选择删除或者重命名。

who可以查看程序中现有的变量名
whos可以查看所有变量的size、bytes、class、attribuites
用于保存MATLAB工作区变量的文件叫做内存变量文件,其扩展名为.mat ,也叫MAT文件。
save命令:创建内存变量文件。 load命令:装入内存变量文件。

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

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



省略步长e2,则步长为1。例如, t=0:5与t=0:1:5等价
冒号表达式是指定首尾和步长来产生向量;
而linspace(a,b,n)则是知道首尾和总元素个数产生的。

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

由结构数据构成的矩阵就是结构矩阵,结构矩阵里的每个元素就是结构数据类型。
格式为:
结构矩阵元素.成员名=表达式
结构矩阵中的每一个元素内部还包含不同的成员,即其中数据类型不同,但是逻辑相关。以学生举例:(其中包含学号,姓名,性别;)
它的创建与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];
如图变量区显示的就是一个结构矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。

A(3,2)表示A矩阵第3行第2列的元素。
如果给出的行下标或者列下标超过原来矩阵的行或者列下标,MATLAB将会自动扩展原来的矩阵,并将扩展后没有赋值的矩阵元素的值设置为0。
序号与下标是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)×m+i
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 ]


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

空矩阵是指没有任何元素的矩阵。
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重 新排成m×n的二维矩阵。
注意:reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序。
A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量
假定现在需要堆叠的矩阵有n个数,那么A(:)相当于reshape(A,n,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为标量。

点运算符:.*、./、.\和.^。
两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。

关系运算符:(大于)、>=(大于或等 于)、==(等于)、~=(不等于)。
当两个比较量是标量时,直接比较两数的大小。若关系成立,关系 表达式结果为1,否则为0。
当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标 量关系运算规则逐个进行,最终的关系运算的结果是一个与原矩阵同型的矩 阵,它的元素由0或1组成。
当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元 素按标量关系运算规则逐个比较,最终的关系运算的结果是一个与原矩阵同 型的矩阵,它的元素由0或1组成。
逻辑运算符:&(与)、|(或)和~(非)。
设参与逻辑运算的是两个标量a和b,那么运算规则为:
a&b a、b全为非零时,运算结果为1,否则为0。
a|b a、b中只要有一个为非零时,运算结果为1 。
~a 当a为零时,运算结果为1;当a为非零时,运算结果为0。
若参与逻辑运算的是两个同型矩阵,那么将对矩阵相同位置上的元 素按标量规则逐个进行运算,最终运算结果是一个与原矩阵同型的 矩阵,其元素由1或0组成。
若参与逻辑运算的一个是标量,一个是矩阵,那么将在标量与矩阵 中的每个元素之间按标量规则逐个进行运算,最终运算结果是一个 与矩阵同型的矩阵,其元素由1或0组成。
在MATLAB中,字符串是用单引号括起来的字符序列。

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


建立一个字符串向量,然后对该向量做如下处理:
① 取第1~5个字符组成的子字符串。
② 将字符串倒过来重新排列。
③ 将字符串中的小写字母变成相应的大写字母,其余字符不变。
④ 统计字符串中小写字母的个数。

格式: eval(s) 字符串
abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。
char函数可以把ASCII码矩阵转换为字符串矩阵。

字符串的比较有两种方法:利用关系运算符或字符串比较函数。
关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1 ,要么是0。
字符串比较函数用于判断字符串是否相等,有4种比较方式,函数如下:

findstr(s1,s2):返回短字符串在长字符串中的开始位置。
strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3。
如果文章对你有所帮助,还望能给点三连支持一下,非常感谢!!!
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删