MATLAB知识点整理(1)

MATLAB基本操作与矩阵运算

算数运算

基本算术

加法 名称
+ 加法
sum 数组元素总和
cumsum 累积和
减法 名称
- 减法
diff 差分和近似函数
乘法 名称
.* 乘法
* 矩阵乘法
prod 数组元素的乘积
除法 名称
./ 数值右除
.\ 数组左除
/ 对线性方程组xA=B求解x
\ 对线性方程组Ax=B求解x
名称
.^ 按元素求幂
^ 矩阵幂
模除法和舍入 名称
mod 除后的余数(取模运算)
rem 除后的余数
ceil 朝正无穷大四舍五入
fix 朝零四舍五入
floor 朝负无穷大四舍五入
round 四舍五入为最近的小数或整数

数组和矩阵运算

数组运算

运算符 说明
+ A+B 表示将 A 和 B 加在一起(+A表示返回A)
- A-B表示从A中减去B(-A表示对A的元素求反)
.* A.*B 表示 A 和 B 的逐元素乘积
.^ A.^B 表示包含元素 A(i,j) 的 B(i,j) 次幂的矩阵
./ A./B 表示包含元素 A(i,j)/B(i,j) 的矩阵
.\ A.\B 表示包含元素 B(i,j)\A(i,j) 的矩阵
.’ A.’ 表示 A 的数组转置。对于复矩阵,这不涉及共轭

矩阵运算

运算符 说明
* C = A*B 表示矩阵 A 和 B 的线性代数乘积。A 的列数必须与 B 的行数相等
\ x = A\B 是方程 Ax = B 的解。矩阵 A 和 B 必须拥有相同的行数
/ x = B/A 是方程 xA = B 的解。矩阵 A 和 B 必须拥有相同的列数。用左除运算符表示的话,B/A = (A’\B’)’
^ A^B 表示 A 的 B 次幂(如果 B 为标量)。对于 B 的其他值,计算包含特征值和特征向量
A’ 表示 A 的线性代数转置。对于复矩阵,这是复共轭转置

逻辑运算

函数 功能
& 计算逻辑 AND
~ 计算逻辑 NOT
any 确定任何数组元素是否为非零
false 逻辑 0(假)
find 查找非零元素的索引和值
islogical 确定输入是否为逻辑数组
logical 将数值转换为逻辑值
true 逻辑值 1(真)

输入命令

函数

函数 说明
ans 最近计算的答案
clc 清空命令行窗口
format 设置命令行窗口输出显示格式
iskeyword 确定输入是否为 MATLAB 关键字
clear 从工作区中删除项目、释放系统内存
disp 输出命令
format 设置输出格式
取消输出
q 停止输出
crtl+c 停止执行

矩阵和数组

创建和合并数组

函数 说明
zeros 创建全零数组
ones 创建全部为 1 的数组
rands 均匀分布的随机数
true 逻辑值 1(真)
false 逻辑 0(假)
eye 单位矩阵
diags 创建对角矩阵或获取矩阵的对角元素
blkdiag 分块对角矩阵
repmat 重复数组副本

创建网格

函数 说明
linspace 生成线性间距向量
logspace 生成对数间距向量
meshgrid 二维和三维网格
ndgrid N 维空间中的矩形网格

确定大小、形状和排序

函数 说明
length 最大数组维度的长度
size 数组大小
isempty 确定数组是否为空

重构和重新排列

函数 说明
sort 对数组元素排序
sortrows 对矩阵行或表行进行排序
flip 翻转元素顺序
fliplr 将数组从左向右翻转
flipup 将数组从上向下翻转
transpose 转置向量或矩阵
reshape 重构数组

数据类型

创建数值变量

函数 说明
single 单精度数组
int8 8 位有符号整数数组
int16 16 位有符号整数数组
int32 32 位有符号整数数组
int64 64 位有符号整数数组
uint8 8 位无符号整数数组
uint16 16 位无符号整数数组
uint32 32 位无符号整数数组
uint64 64 位无符号整数数组

在数值类型之间转换

函数 说明
cast 将变量转换为不同的数据类型
typecast 在不更改基础数据的情况下转换数据类型

查询类型和值

函数 说明
isinteger 确定输入是否为整数数组
isfloat 确定输入是否为浮点数组
isnumeric 确定输入是否为数值数组
isreal 确定数组是否为实数数组
isfinite 确定哪些数组元素为有限
isinf 确定哪些数组元素为无限值
isnan 确定哪些数组元素为 NaN

创建、串联和转换

函数 说明
string 字符串数组
strings 创建不包含字符的字符串数组
join 合并字符串
char 字符数组
cellstr 转换为字符向量元胞数组
blanks 创建空白字符数组
strcat 水平串联字符串
append 合并字符串
convertCharsToStrings 将字符数组转换为字符串数组,其他数组不变
convertStringsToChars 将字符串数组转换为字符数组,其他数组不变
convertContainedStringsToChars 在元胞数组或结构体的任何级别转换字符串数组
double 双精度数组
string 字符串数组
str2double 将字符串转换为双精度值
num2str 将数字转换为字符数组
strfind 在其他字符串中查找字符串
sscanf 从字符串读取格式化数据
replace 查找并替换一个或多个子字符串
strcmp 比较字符串
strcmpi 比较字符串(不区分大小写)
strncmp 比较字符串的前 n 个字符(区分大小写)
strncmpi 比较字符串的前 n 个字符(不区分大小写)

循环及条件语句

函数 说明
if, elseif, else 条件为 true 时执行语句
for 用来重复指定次数的 for 循环
switch, case, otherwise 执行多组语句中的一组
try, catch 执行语句并捕获产生的错误
while 条件为 true 时重复执行的 while 循环
break 终止执行 for 或 while 循环
continue 将控制权传递给 for 或 while 循环的下一迭代
end 终止代码块或指示最大数组索引
pause 暂时停止执行 MATLAB
return 将控制权交还给调用脚本或函数

关于MATLAB基本操作与矩阵运算大概这些,当然这些只是一些比较常见的,需要多加练习才可以完全掌握,具体的用法可以在命令行窗口中打下help+function 即可获取函数的具体用法,也可以在mathworks的官网中获得,系统性地学习可在B站学习。

你可能感兴趣的:(matlab)