MATLAB界面可以直接进行简单的操作,比如加减运算等,直接在命令行窗口输入即可
在MATLAB界面,直接新建脚本或新建都可新建一个MATLAB项目
新建完成后会得到一个如图的项目,当你进行操作但未及时保存时项目名处会多一个*号(同word文档等效果)。注意:当你新建一个项目时,项目并未保存,需要ctrl+s或手动保存后才会保存。
*号会在你每次保存或运行时消除(此时默认保存)。
成功创建一个项目后就可以开始操作了,具体界面工具操作引导如下:
编辑器:只有新建项目才能使用的工具,为我们进行计算,绘图,构建模型代码书写的主要区域。
在编辑器书写代码后我们可以通过上方工具栏对代码进行整体运行或者选中代码段后右键鼠标进行部分运行。
命令行窗口:我们代码效果执行的展示区,当我们没有创建项目时,我们也可直接在命令行窗口进行操作(前文提及)。
工作区:该区域会展示我们所定义的变量,矩阵,结构体,元胞数组等
变量:指值可以变的量。变量以非数字的符号来表达,一般用拉丁字母。变量的用处在于能一般化描述指令的方式。结果只能使用真实的值,指令只能应用于某些情况下。变量能够作为某特定种类的值中任何一个的保留器。
如:a,abc,x1,x2都可作为变量
变量命名原则与编程语言中变量的命名相似,主要注意以下两点:
·变量名可以使用字母或数字,但是不允许用数字开头,下划线同理,允许使用但不允许放在变量名开头如:1a,2b,_a
·MATLAB中严格区分大小写
注:MATLAB中报错会比编程语言中报错更智能,当出现以上两种错误时及时更改即可。
MATLAB中数据类型也同大多数编程语言的数据类型相似,这里不做较多赘述详见下图,元胞数组类型下面会单独介绍。
(ps:我们可以通过在编辑器或命令行窗口输入whos并运行就可以查看工作区的变量的数据类型了)
元胞数组是MATLAB特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的数据类型(该效果很像是Python语言中的列表)。它的class函数输出就是cell。下面使其定义语法:
变量名=cell(m,n) m,n是元胞数组的规格,m是行数,n为列数
由图中可以看出,我们在对元胞数组中的数据进行修改时是使用大括号,同时我们在索引是也是使用大括号,而小括号含义为该位置的元胞数组。即大括号索引取出的是元胞数组对应位置的元素,而小括号取出的是对应位置的元胞数组。
结构体:结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员” ,其描述了一块内存区间的大小及解释意义。要注意的是,MATLAB中结构体的定义还是与编程语言有着较大的差异,其定义更像是Python中的字典(形式上)。下面是其定义语法:
变量名=struct(字段一,字段对应的值,字段二,字段二对应的值,···)
由以上定义我们不难看出,在定义结构体时其中参数是成对的,而且都是带有初值(出错另说),MATLAB在定义结构体时,对其成员唯一要求就是成对出现,即每一个成员都对应于一个值,而对其内容是什么无从过问。
下面举一个语法正确但定义期望结果错误的例子
显然name和age都是我们所需要的“成员”,但是由于参数数量不错,所以允许通过允许错误期望。
顺序结构同大多数变成语言一样,执行语句都上顺序执行基本没什么差异
也与编程语言语言类似但略有差异
MATLAB中判断条件后面不需要加“:”,且都要以end来结尾
单分支:if语句 与编程语言不同的是if语句需要以end来结尾
双分支:if…else语句,同理差别在于需要用end来结尾
多分支:switch…case语句
需要注意的是MATLAB中switch中每个case运行结束后直接结束,不需要break跳出,而MATLAB在switch中使用的关键词不是default而是otherwise,此外也需要以end结尾。
循环语句中也需要以end作为结尾
for循环
MATLAB中的for循环语句更相似于Python中的for循环语句,但仍有所差异
语法如下:
for x=m:n
…
end
语法释义:该循环结构从x=m处开始循环,执行循环体,一直循环至x递增至x=n时循环结束,具体递增长度可有其中步长决定。如 m:c:n 为x从m递增至n,且每次循环递增值为c,若不写步长则默认为1。
以上可以看出for循环同样不需要“:”号
while循环
while循环就十分类似了
语法如下
while 判断体
…
end
若判断体成立则一直执行循环体,否则跳出循环。
while循环同样不需要“:”号
矩阵的构造
MATLAB中一般的矩阵我们可以直接使用[ ]来进行构造
A=[ ]
向其中添加数据,每一行中可以以空格或者逗号作为分划,每一列以分号(
;)作为分划。
A=[1 2 3;4,5,6]
而对于一些特殊的矩阵我们可以通过特定函数来构造
比如说:
构造一个m行n列服从正态分布的矩阵:randn(m,n)
构造一个m行n列服从均匀分布的整数矩阵:randi(m,n)
构造一个m行n列全为0的矩阵:zeros(m,n)
构造一个m行n列全为1的矩阵:ones(m,n)
矩阵的四则运算
MATLAB中矩阵运算具体规则服从数学中矩阵运算规则
矩阵相加:A+B
矩阵相减:A-B
矩阵的逆:inv(A)
矩阵相乘:A*B(符合线性代数规则,A的列要等于B的行,否则无法运算)
矩阵相除:A/B=A*inv(B) (除等于乘上原矩阵的逆,所以依旧需要服从乘法规则)
特殊的 . 号
矩阵相乘:A.*B (运算不服从数学中矩阵乘法规则,具体结果表现为矩阵中对应位置相乘)
矩阵相除:A./B(同上,矩阵中对应位置相除)
(A,B同上)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删