MATLAB 语言基础
- 常用基础函数
whos:列出工作空间中的变量名及其具体信息who:列出工作空间中的变量名clear:清除工作区变量,可在后面加上变量名以清除指定变量clc:清除 REPL 内容quit/exit:关闭 MATALBhelp:显示指定函数的简短使用说明quit:以网页形式显示指定函数的帮助页
- 常用符号
%:注释;:放在最后,将表达式变为语句,不在 REPL 中输出结果::生成数组,有以下若干种形式:start:end:生成从start到end中的所有整数组成的数组start:step:end:以step为间隔,从start到end取出整数组成的数组,如果end不是start加上若干个step,则数组不包含endstart:/:end/::用于下标处,由解释器自动推导缺失部分
{}:用于元胞数组定义,其中元素可以是任意类型。也用于元胞数组的下标访问@:用于已定义函数的名称前,表示获取函数句柄。也可以用于定义匿名函数
- 数据类型
- 整数
int8,int16,int32,int64,uint8,uint16,uint32,uint64
- 浮点数
single,double- 默认所有数字的字面量都是
double类型。
- 复数
- 字面量可以把
i或j加到数字后面表示虚部。 - 可以使用
complex(a, b)创建 。
- 字面量可以把
- 布尔 / 逻辑
- 在 MATLAB 中类型名为
logical,但用boolean函数转型。
- 在 MATLAB 中类型名为
- 数组
- 用
[]定义,可以定义一维或二维数组,无法定义更高维。 - 一维数组有行列之分,若元素按列排布,则数组为向量。
- 二维数组为矩阵。
[]中用逗号或空格分隔的元素按行排列,用分号分隔的元素按列排列。- 数组中的子数组若用逗号或空格分隔,则子数组会合并,如
[[1 2] [3 4]] => [1 2 3 4],该行为与分块矩阵类似。
- 用
- 字符数组
- 用
'包住的字符组成字符数组。 - 单个字符是长度为 1 的字符数组。
- 字符数组中的元素也是整数,其值是字符的 ASCII 值。
- 假设
a和b是字符数组,它们的拼接可以使用[a b]或strcat(a, b),但不可以使用a + b,这会导致a和b中的数组元素逐个相加。
- 用
- 字符串
- 用
"包住的字符组成字符串。 - 字符串拼接可以使用
+,也可以用strcat函数。 - 字符串是一个整体的变量,不是数组,也不能按下标访问。
- 用
- 整数
- 控制流
if条件控制if expression statements elseif expression statements else statements end
switch条件控制switch switch_expression case case_expression statements case case_expression statements ... otherwise statements end
for循环控制for index = values statements end- 这里的
values是任意可迭代的值,包括begin:step:end、数组等。 - 每次循环
index会是数组的每一列的值。对于一个 矩阵,会循环 次,每次获得一个 元列向量。 - 循环中可以使用
break和continue语句退出循环或跳过当前循环。
while循环控制while expression statements end