Allen's blog Allen's blog
首页
面经
算法 (opens new window)
分类

Allen

前端CV工程师
首页
面经
算法 (opens new window)
分类
  • 包管理工具conda

  • matplotlib绘图

  • 常用系统知识

    • python os.path路径
    • python序列化存储
    • opencv常用的方法
    • numpy常用方法
    • matlab常见函数
      • size()
      • length()
      • ndims()
      • zeros()
      • ones()
      • 矩阵下标引用
      • 多维数组变一维
      • 向量范数和矩阵范数
    • 张量相关知识
  • 一些问题及解决方案

  • python
  • 常用系统知识
Allen
2023-03-21
目录

matlab常见函数

# size()

size(a)表示矩阵每一个维度的长度 在 python 中使用np.array(a).shape

注意:在 python 中,np.size(A)表示 A 中所有数据个数

# length()

length(a)表示矩阵 a 的最大的长度,即 max(size(a)) 在 python 中使用max(np.array(a).shape)

# ndims()

ndims(a)表示矩阵 a 的维数,即 length(size(a));如二维矩阵,三维矩阵等 在 python 中,使用len(np.array(a).shape)

# zeros()

生成全为 0 的矩阵:

  • B=zeros(n):生成 n×n 全零阵。
  • B=zeros(m,n):生成 m×n 全零阵。
  • B=zeros([m n]):生成 m×n 全零阵。
  • B=zeros(d1,d2,d3……):生成 d1×d2×d3×……全零阵或数组。
  • B=zeros([d1 d2 d3……]):生成 d1×d2×d3×……全零阵或数组。
  • B=zeros(size(A)):生成与矩阵 A 相同大小的全零阵。

在 python 中,有np.zeros(shape, dtype=float, order="C") 参数:

  • shape:形状
  • dtype: 数据类型,可选参数,默认 numpy.float64
  • dtype 类型:
    • t,位域,如 t4 代表 4 位
    • b,布尔值,true or false
    • i,整数,如 i8(64 位)
    • u,无符号整数,u8(64 位)
    • f,浮点数,f8(64 位)
    • c,浮点负数,
    • o,对象,
    • s,a,字符串,s24
    • u,unicode,u24
  • order:可选参数,c 代表与 c 语言类似,行优先;F 代表列优先

# ones()

生成全为 1 的矩阵,用法与 zeros 类似

# 矩阵下标引用

参考:matlab 矩阵大全 (opens new window)

matlab 表达式 函数功能
A(1) 将二维矩阵 A 重组为一维数组,返回数组中第一个元素
A(:, j) 返回二维矩阵 A 中第 j 列 列向量
A(i, :) 返回二维矩阵 A 中第 i 行 行向量
A(:, j:k) 返回二维矩阵 A 中第 j 列到第 k 列 列向量组成的子矩阵
A(i:k, :) 返回二维矩阵 A 中第 i 行到第 k 行 行向量组成的子矩阵
A(i:k, j:m) 返回二维矩阵 A 中第 i 行到第 k 行 行向量和第 j 列到第 m 列 列向量的交集组成的子矩阵
A(:) 将二维矩阵 A 中得每列合并成一个列向量
A(j:k) 返回一个行向量,其元素为 A(:)中的第 j 个元素到第 k 个元素
A([j1 j2 ...]) 返回一个行向量,其元素为 A(:)中的第 j1,j2…个元素
A(:, [j1 j2 ...]) 返回矩阵 A 的第 j1 列、第 j2 列等的列向量
A([i1 i2 ...], :) 返回矩阵 A 的第 i1 行、第 i2 行等的行向量
A([i1 i2 ...], [j1 j2 ...]) 返回矩阵 A 的第 j1 列、第 j2 列等和矩阵 A 的第 i1 行、第 i2 行等的元素

# 多维数组变一维

matlab: A(:) python: arr.flatten()

# 向量范数和矩阵范数

matlab:

  • n = norm(v) 返回向量 v 的欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。
  • n = norm(v,p) 返回广义向量 p 范数。
  • n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。
  • n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf:
    • 如果 p = 1,则 n 是矩阵的最大绝对列之和。
    • 如果 p = 2,则 n 近似于 max(svd(X))。此值等效于 norm(X)。
    • 如果 p = Inf,则 n 是矩阵的最大绝对行之和。
  • n = norm(X,"fro") 返回矩阵或数组 X 的 Frobenius 范数。

python: x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)

  • x: 表示矩阵(也可以是一维)
  • ord:范数类型
    • ord = 1
      • 向量的范数表示一范数
      • 矩阵的范数表示列和的最大值
    • ord = 2
      • 向量的范数表示二范数(默认)
      • 矩阵的范数表示|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根
    • ord = np.inf
      • 向量的范数表示无穷范数
      • 矩阵的范数表示行和的最大值
  • axis:处理类型
    • axis=1 表示按行向量处理,求多个行向量的范数
    • axis=0 表示按列向量处理,求多个列向量的范数
    • axis=None 表示矩阵范数。
  • keepding:是否保持矩阵的二维特性
    • True 表示保持矩阵的二维特性,False 相反
上次更新: 2023/12/16, 09:22:46
numpy常用方法
张量相关知识

← numpy常用方法 张量相关知识→

最近更新
01
rollup使用配置文件rollup.config.ts打包
12-08
02
package.json导出类型
12-08
03
关键问题方案
11-17
更多文章>
Theme by Vdoing | Copyright © 2023-2023 Allen | Github
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式