使用指南
- 本文 Code block 中的注释采用 C++ 单行注释样式,即
//
- 例子中的 Code block 为在 MATLAB R2021a 环境下的 Command Window 显示内容
- 本文在矩阵部分内容遵从中国大陆的命名方式,即 Row 为行,Column 为列
- 由于内容较为庞大,建议在桌面端浏览本页面,请善用目录
- 部分内容可能过时或出现纰漏,且不展开完整的指令库,如遇问题请求助 Documentaion
本文将不断更新,迭代信息请参考更新日期
笔记正文
一、 基本操作
MATLAB 系统环境
有四大主窗口
- MATLAB Rxxxxa //主窗口
- Current folder
- Command Window
- Workspace
命令提示符 >>
当 Command Window 出现此符号时表示 MATLAB 已就绪,可以输入命令
此时点击 PgUp/PgDn 来上翻/下翻命令记录
续行符 ...
在一串命令后加上此符号时表示将下一行的命令续在上一行上,为同一条命令。
示例:
1 | >> s = 1/2 + 1/3 + 1/4 + ... |
清除 Command Window clc
执行该命令将会清除 Command Window 上的内容
Current folder
可以使用命令来操控当前文件夹
使用 cd
(Change Directory) 指令更改文件夹
>> cd D:
设置当前文件夹为 D:\
使用 mkdir
(Make directory) 指令创建文件夹
>> mkdir work
此时在 D:\ 下创建了文件夹 \work
可使用
cd D:\work
指令进入该文件夹
Workspace
工作区(Workspace)是 MATLAB 用于存储各种变量和结果的内存空间,
可用于变量的显示和操作
MATLAB 的搜索路径
当搜索一个字符串时,MATLAB 按照以下类型顺序进行检索:
- 变量
- 内部函数
- 程序文件
- 当前文件夹下的文件
- 文件搜索路径文件夹中的程序文件
请注意!不要使用和 MATLAB 函数名相同的名字用作变量
清除命令 clear
>> clear
使用 clear
加上函数名来清除特定的变量:
>> clear cos
执行后将清除工作区的全部变量
命令行分号使用
在命令后加上分号 ;
结果将不会立即显示
设定路径命令 path
>> path(path,'D:\work')
将 D:\work 文件夹纳入搜索路径
或者在 Home(选项卡)- ENVIRONMENT(Section)- Set Path
来设定路径。
变量
MATLAB 使用变量无需 declaration,直接赋值即可
e.g.A = 10
使用 iskeyword
来查看什么不能作为变量名:>> iskeyword
作为一个工程计算器
基本的四则运算和幂运算: + - * / ^
ans
为默认的输出输出结果
规则
- 从左到右进行运算
- 运算优先级
- 括号
()
- 乘方
^
- 乘除
* /
- 加减
+ -
嵌入式函数(复合函数)
e.g.
f(g(x)) = f(alpha), alpha = g(x);
MATLAB 数值数据
数值数据的分类
- 整型
- 浮点型
- 复数型
整型数据转换
uint8
将数据转化为无符号 8 位整数。
int8
将数据转化为有符号 8 位整数。
示例:
1 | >> x=int8(129) |
浮点型
浮点型分为单精度(占用 4 Byte)和双精度(占用 8 Byte)
在 MATLAB 中,浮点型默认为双精度型数据
可使用 single
函数转化为单精度型;
使用 double
函数转化为双精度型;
1 | >> class(4) //使用 class 函数查看其数据类型 |
复数型
复数型数据包含实部和虚部,二者默认为双精度型;
虚数单位用 i 或者 j 表示:
1 | >> 6 + 5i |
使用 real
函数求复数实部;
使用 imag
函数求复数虚部
数值数据输出格式
format 命令:format 格式符
e.g.
1 | >> format long //输出 long 格式,保留小数点后 15 位 |
注意!format 指令只影响输出格式,不影响计算和储存
快速查询变量
使用 who 命令来查看所有变量>> who
使用 whos 命令来查看变量更多的信息
>> whos
示例:
1 | >> A=10 |
数学函数
函数调用格式为:
function(value)
//function 为函数名,value 为函数自变量的值(矩阵变量)
e.g.
1 | >> A=[4,2;3,6] |
使用了自然指数函数 exp
常见数学函数的应用
- 三角函数
默认以弧度制为单位,使用角度制需要在函数名后加
d
e.g.
1 | >> sin(pi/2) |
- ABS 函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17>> abs(-4)
ans =
4
>> abs(3+4i)
ans =
5
>> abs('a')
ans =
97
MATLAB Calling Priority
- Variable
- Built-in function
- Subfunction
- Private function
- MEX-file
- P-file
- M-file
二、向量和矩阵
Row Vector
>> a = [1 2 3 4]
Column Vector
>> b = [1;2;3;4]
1 | >> a*b //点积运算 |
Matrix
在一个 Row 里面用空格空开,换行时用分号分开
Array Indexing 数组索引
使用 array(n) 来检索数组名为 array 的第 n 项
示例:1
2
3
4
5
6
7
8
9
10
11>> a=[1,2,3,4]
a =
1 2 3 4
>> a(3)
ans =
3矩阵内检索
方法一:使用 A(x,y) 来检索矩阵名为 A 的 第 x 行,第 y 列
方法二:使用 A(n) 来检索矩阵名为 A 的 Matrix,以 先由上至下,后由左至右 的顺序编号。
$$
A = \begin{bmatrix}
a & b & c\\
d & e & f\\
g & h & i
\end{bmatrix}
$$
从 1 号到 9 号 其顺序为:
$$a, d, g, b, e, h, c, f, i$$
检索方式如下:
Type 1
>> A(3,2)
//第三行第二列,即 $h$
>> A([1 3],[1 3])
//逗号前为 Row,逗号后为 Column;调取第 1、3 条 Row 和第 1、3 条 Column 的交集形成矩阵:
$$
\begin{bmatrix}
a & c\\
g & i
\end{bmatrix}
$$
Type2:
>> A(8)
//按照 “先由上至下,后由左至右” 的顺序检索第 8 个,即为$f$
>> A([1,3,5])
//按照上述顺序检索第 1, 3, 5 个,即为 $a, g, e$
>> A([1 3;1 3])
//按照上述顺序,形成矩阵:
$$
\begin{bmatrix}
a & g\\
a & g
\end{bmatrix}
$$
替换矩阵元素 Replacing Entries
直接将某个值赋给矩阵的元素:
A(x,y)= K
将 K 赋给 A 矩阵中第 x 行,第 y 列的元素