MATLAB常用函数

  • 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))
  • 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 轴标签的名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值