-
n=numel(A, 条件): 数组 A 中的元素个数
-
B=reshape(A,m,n): 将矩阵 A 的元素返回到一个m×n的矩阵 B
-
M(i,j): 返回矩阵 M 第 i 行 j 列的元素
-
S=sparse(i,j,s,m,n,nz): 由向量i, j, s生成一个 m*n 的含有 nz 个非零元素的稀疏矩阵 S (先取i, j中的值作为 S 的行标和列标,再在 s 中的值赋值到 S 中所对应的行标和列标)
-
NL=nonzeros(A): 返回矩阵 A 的全部非零元素组成的列向量 NL
-
eye(n): 生成 n 阶单位矩阵
-
repmat: 重复数组副本
- repmat(A,n): 返回一个数组,该数组在其行维度和列维度包含 A 的 n 个副本。A 为矩阵时,B 大小为 size(A)*n
- repmat(A,r1,…,rN): 指定一个标量列表 r1,…,rN,这些标量用于描述 A 的副本在每个维度中如何排列
- repmat(A,r): 使用行向量 r 指定重复方案。例如,repmat(A,[2 3]) 与 repmat(A,2,3) 返回相同的结果
-
zeros(n): 生成 n×n 全零阵
- zeros(m,n): 生成 m×n 全零阵
- zeros(d1,d2,d3,…): 生成 d1×d2×d3×… 全零阵或数组
- zeros(size(A)): 生成与矩阵 A 相同大小的全零阵
-
ones的使用方法与 zeros 的使用方法类似
-
diag: 创建对角矩阵或获取矩阵的对角线值
- D=diag(v): 返回包含主对角线上向量 v 的元素的对角矩阵
- D=diag(v,k): 将向量 v 的元素放置在第 k 条对角线上. k=0 表示主对角线, k>0 位于主对角线上方, k<0 位于主对角线下方
- x=diag(A): 返回 A 的主对角线元素的列向量
- x=diag(A,k): 返回 A 的第 k 条对角线上元素的列向量
-
dot(a,b): 向量 a, b 的点乘
-
round(X) 将 X 的每个元素四舍五入为最近的整数
-
M=mean(A):
- 若 A 是一个向量, 返回 A 中元素的平均值
- 若 A 是一个矩阵, 返回一个包含每一列所有元素的平均值的行向量
-
M=mean(A,dim): 返回 A 中沿着标量 dim 指定的维数上的元素的平均值 (dim=1 按行, dim=2 按列)
-
s=size(A): 获取矩阵的行数和列数
- s=size(A,n): n=1 返回行数, n=2 返回列数
-
real(Z):
- Z 为复数: 返回 Z 的实部
- Z 为复数组成的向量: 返回一个向量, 其元素为各个复数的实部
-
sort(A, dim):
- A 为向量: 对向量元素排序
- A 为矩阵: 对矩阵的每个列向量排序
- 按 dim 指定的维数上的元素排序(dim=1 按列, dim=2 按行)
- [B,I] = sort(A): B 为排序结果, I 为相应元素在 A 中的索引
-
norm(A,p)
- A为矩阵
- p=1: 最大的列模, 即 max(sum(abs(A)))
- p=inf: 最大的行模, 即 max(sum(abs(A’)))
- p=2: 最大的奇异值, 即 norm(A)
- ‘fro’: 各个元素平方之和再开平方根, 即 sqrt(sum(diag(A’*A)))
- A为向量, 返回 A 的 p 范数 (1<p<+∞)
- p=2: 即 norm(A)
- p=inf: 即 max(abs(A))
- p=-inf: 即 min(abs(A))
- A为矩阵
-
exist:
- b=exist(a): 若 a 存在, 则 b=1, 否则 b=0
- b=exist(‘name’,‘kind’):
kind 表示 name 的类型, 可以取的值为: builtin (内建类型) , class (类) , dir (文件夹) , file (文件或文件夹) , var (变量)
-
max/min:
- max(A): 返回一个行向量, 向量的第 i 个元素是矩阵 A 的第 i 列上的最大值
- [Y,U]=max(A): 返回行向量 Y 和 U, Y 向量记录 A 的每列的最大值, U 向量记录每列最大值的行号
- max(A,[],dim): dim=1 时, 即 max(A); dim=2 时, 返回一个列向量, 其第 i 个元素是 A 矩阵的第 i 行上的最大值
-
特征值和特征向量
- eig(A): 返回一个列向量, 其中包含方阵 A 的特征值
- eigs(A,k): 返回方阵 A 的 k 个最大的特征值
- [V,D]=eig(A)返回特征值的对角矩阵 D 和矩阵 V, 其列是对应的右特征向量,使得 A*V=V*D。
-
运算符
符号 作用 对应函数 + 加法 plus + 一元加法 uplus - 减法 minus - 一元减法 uminus .* 按元素乘法 times * 矩阵乘法 mtimes ./ 按元素右除 rdivide / 矩阵右除 mrdivide .\ 按元素左除 ldivide \ 矩阵左除(反斜杠) mldivide .^ 按元素求幂 power ^ 矩阵幂 mpower .’ 转置 transpose ’ 复共轭转置 ctranspose power .^ 数组幂 eq == 等于 ne ~= 不等于 gt > 大于 ge >= 大于或等于 lt < 小于 le <= 小于或等于 and & 按元素逻辑 AND or . 按元素逻辑 OR -
bsxfun(fun,A,B): 对两个矩阵 A 和 B 之间的每一个元素进行 fun 计算 (见上表) , 并且可以自动扩维
-
tf=strcmpi(s1,s2): 比较字符串 (不区分大小写) , 如果二者相同, 函数将返回 1 (true), 否则返回 0 (false)
-
tic 和 toc : tic 记录起始时刻, toc 会自动计算时间差
-
A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A=A-1
-
a\b: 代表a的逆乘以b
-
b/a: 代表b乘以a的逆
-
C - diag(diag©) 等价于 C(1:(n+1):end) = 0 (n是列数, end是总元素个数)
-
缺失值相关:
- 标准缺失值取决于数据类型:
- double、single、duration 和 calendarDuration 的指示符为 NaN
- datetime 的指示符为 NaT
- string 的指示符为
- categorical 的指示符为
- char 的指示符为 ’ ’
- 字符向量 cell 的指示符为 {’’}
- ismissing:
- ismissing(A): 返回逻辑数组, 指示数组或表中的哪些元素包含缺失值
- ismissing(A,indicator): 将 indicator 中的值视为缺失值指示符
- fillmissing:
- fillmissing(A,‘constant’,v): 使用常量值 v 填充缺失的数组或表条目
- fillmissing(A,method): 使用 method 指定的方法填充缺失的条目
- rmmissing:
- rmmissing(A): 从数组或表中删除缺失的条目
- rmmissing(A,dim): 指定要沿其进行运算的 A 的维度 (默认情况下沿其大小不为 1 的第一个维度进行运算)
- rmmissing(___,Name,Value): 使用一个或多个 Name-Value 对指定用来删除缺失条目的其他参数. 例如 rmmissing(A,‘MinNumMissing’,n) 用于删除 A 的包含至少 n 个缺失值的行
- 标准缺失值取决于数据类型:
-
矩阵随机缺失(分组,每组至少取一个)
X=[0,1,2,3;4,5,6,7;8,9,10,11;12,13,14,15]; n=numel(X); delta=0.3; % missing rate index=randperm(n,round(n*delta)); X(index)=missing;
-
保存随机数生成器的状态 https://ww2.mathworks.cn/help/matlab/ref/rng.html
s=rng; r=randperm(8); rng(s); r1=randperm(8);
-
gscatter: 分组绘制散点图 https://ww2.mathworks.cn/help/stats/gscatter.html
- gscatter(x,y,g): 创建 x 和 y 的散点图,按 g 分组
- gscatter(x,y,g,clr,sym,siz): 为每个组指定标记颜色 clr、符号 sym 和大小 siz .
- gscatter(x,y,g,clr,sym,siz,doleg): 控制是否在图表上显示图例
- gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam): 指定 x 轴和 y 轴标签的名称
MATLAB常用函数
于 2022-02-13 11:08:06 首次发布