目录
一、通用命令
1、常用命令
命令 | 命令说明 |
---|---|
cd | 显示或改变当前工作文件夹 |
dir | 显示当前文件夹或指定目录下的文件 |
type | 显示文件内容 |
clc | 清除工作窗中的所有显示内容 |
clear | 清除内存变量 |
2、命令行中的键盘按键
键盘按键 | 说明 |
---|---|
Home | Ctrl+A,光标至于当前行开头 |
End | Ctrl+E,光标至于当前行末尾 |
Esc | Ctrl+U,清除当前输入行 |
Delete | Ctrl+D,清除光标处的字符 |
Backspace | Ctrl+H,删除光标前的字符 |
Alt+Backspace | 恢复上一次删除 |
二、提示
- 当命令后面有分号(半角符号格式)时,按Enter键后,命令行窗口中不显示运算结果;如无分号,则在命令行窗口中显示运算结果。
- 当希望先输入多条结果,然后同时执行它们时,则在输入下一条命令时,同时按住Enter+Ctrl进行换行输入。
三、数值类型
1、类型
- 有符号和无符号整数型:int8、uint8、int16、uint16、int32、uint32、int64、uint64
- 单精度浮点型:single
- 双精度浮点型:double
- 复数 :MATLAB中默认使用字符i或j作为虚部标志
- 正无穷量:+Inf
- 负无穷量:-Inf
- 非数值量:NaN
2、数值类型之间的转换
提示
(1)在未加说明与特殊定义时,MATLAB中的数值默认存储类型是双精度浮点类型。
(2)除了int64、uint64类型外的所有整数类型,都可以进行数学运算
(3)在MATLAB中,单精度浮点类型不能与整数类型进行算数运算
(4)双精度浮点数参与运算时,返回值的类型依赖于参与运算的其他数据类型(即返回值的类型不固定)。
四、逻辑类型
1、关系操作符
(与C语言比较)
关系操作符 | 说明 |
---|---|
~= | 不等于 |
注意:在MATLAB中,“==”是对等号两边的两个变量进行比较,“=”则是被用来将运算结果赋给一个变量
五、字符和字符串
1、字符串是以向量的形式来存储的,因此可通过它的下标对字符串中的任何一个元素进行访问。字符矩阵也可通过下标索引进行访问,但是矩阵的每行字符数必须相同。
六、函数句柄
跟函数调用有关,函数调用是有要求的,直接调用函数,被调用的函数通常称为子函数。子函数只能被与其M文件同名的主函数或在M文件中的其他函数做调用,同时一个文件中只能有一个主函数。而使用函数句柄对函数调用则避免了上述问题。函数句柄实际上提供了一种间接调用函数的方法,对MATLAB库函数中提供的各种M文件中的函数和自编写的程序中的内部函数都可通过创建函数句柄来进行间接调用。
创建函数句柄的一般句法格式:
Function_Handle = @Function_Filename ;
- Function_Filename:是函数所对应的M文件的名称或MATLAB内部函数的名称
- @:句柄创建操作符
- Function_Handle变量保存了这一函数句柄,并在后续的运算中作为数据流进行传递
例如:
F_Handle = @cos ;
- 创建了MATLAB内部函数 cos 的句柄,并将其保存在 F_Handle 变量中,即在后续运算过程中可通过F_Handle(x) 来实现 cos(x)的功能
七、结构体类型
1、结构体的实质
一个结构体可以通过字段存储多个不同类型的数据。感觉相当于一个容器。
2、创建结构体对象的方法
(1)直接通过赋值语句给结构体的字段进行赋值(通过字段赋值创建结构体):对同一个结构体可以进行多个字段的赋值,赋值表达式的变量名称的形式书写为:
结构体名称 . 字段名称
(2)利用 struct函数创建结构体
StrArray = struct (‘filed1’ , var1 ,‘filed2’ , var2 ,…, ‘filedn’ , varn )
- 上述语句可以创建结构对象 StrArray ,并将其n个字段分别赋值为 var1 , var2 ,… , varn 。
八、数组类型
数组的属性及数组之间的逻辑关系在编写程序中很重要。
在MATLAB平台上,数组的定义是广义的,数组的元素可以是任意的数据类型,可以是数值、字符串、指针等。
利用数组的构建方法可以直接对变量进行赋值。
九、单元数组类型
1、概述
单元数组可以包括很多类型的数据,组成单元数组的每一个元素称为一个单元,每一个单元可以包括任意数组,如数值数组、字符串数组或者另一个单元数组,因而每一个单元可以具有不同的尺寸和内存占用空间。
2、单元数组的创建
(1)使用赋值语句创建单元数组:与一般数组不同的是,单元数组使用花括号[ ] 来创建,使用逗号,或空格 来分隔每一个单元,使用分号;来分行。
(2)利用 cell 函数创建空单元数组:
cell 函数的调用格式如下:
cellname = cell (m,n)
- 该函数创建一个 m×n 的空单元数组,其每一个单元均为空矩阵。
3、单元数组的寻访
寻访单元和单元中的内容是两个不同的操作,这两操作相对应的操作对象是单元外标识和单元内住址。
对于单元数组 C,C(m,n) 指的是单元数组中第m行第n列的单元;C{m,n} 指的是单元数组中第m行第n列的单元中的内容。
4、单元数组的操作
(1)单元数组的合并
(2)单元数组中指定单元的删除:
可将空矩阵赋给该单元,即
C (m ,n) = [ ]
(3)使用 reshape 函数改变单元数组的形状
reshape 函数的调用格式:
trimC = reshape (C ,M ,N)
- 该函数将单元数组C 改变成一个具有 M行N列的新单元数组
九、map 容器类型
1、map容器类型及map类概述
(1)map的本意是映射,map是将一个量映射到另一个量上,如将一个字符串映射为一个数值,则前面的量(字符串)就是map的键(key),后面的量(数值)就是map的数据(value)。map容器可以理解为一种快速查找数据结构的键。
【个人感觉就像连一连,这个东西对应另一个东西,可以通过查找这个东西知道另一个东西,对应关系、映射关系】
(2)对一个map元素进行寻访的索引称为“键”,这个“键”可以是:
- 1 X N字符串
- 单精度或双精度实数标量
- 有符号或无符号标量
(3)一个map是MATLAB类的一个对象,map类的所有对象具有3种属性:
属性 | 说明 | 默认值 |
---|---|---|
Count | 无符号64位整数,表示map对象中存储的key/value对的总数 | 0 |
КеyТype | 字符串,表示map对象中包括的key的类型 | char |
ValueType | 字符串,表示map对象中包括的数据类型 | any |
map属性的查看方法:
map名 + 小数点 “.” + map的属性名
如:W.ValueType
2、创建map对象
可以通过构造函数来创建,创建方法如下:
mapObj = containers.Map ( { key1, key2,…} , { val1, val2,…} )
% 若键和值为字符串时
mapObj = containers.Map ( {’ key1’ , ‘key2’ ,…} , { ‘val1’ , ‘val2’,…} )
十、基本矩阵操作
1、矩阵的构造
函数名称 | 函数功能 |
---|---|
magic | 构建一个n×n的矩阵(魔方矩阵),其每行、列以及对角线的数之和相等,n必须为大于或等于3的整数 |
--------------------------------------------------------------分割线------------------------------------------------------------