尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

HoRain云--NumPy 矩阵库(Matrix)

HoRain云--NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib该模块中的函数返回的是一个矩阵而不是 ndarray 对象。numpy.matlib 专门用于创建和操作 矩阵matrix 对象。虽然 NumPy 的核心支持多维数组ndarraynumpy.matlib 提供了一些方便的函数专门返回矩阵类型便于用户进行传统的线性代数运算。一个的矩阵是一个由行row列column元素排列成的矩形阵列。矩阵里的元素可以是数字、符号或数学式。以下是一个由 6 个数字元素构成的 2 行 3 列的矩阵转置矩阵NumPy 中除了可以使用 numpy.transpose 函数来对换数组的维度还可以使用 T 属性。。例如有个 m 行 n 列的矩阵使用 t() 函数就能转换为 n 行 m 列的矩阵。实例import numpy as np a np.arange(12).reshape(3,4) print (原数组) print (a) print (\n) print (转置数组) print (a.T)输出结果如下原数组 [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 转置数组 [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]matlib.empty()matlib.empty() 函数返回一个新的矩阵语法格式为numpy.matlib.empty(shape, dtype, order)参数说明shape: 定义新矩阵形状的整数或整数元组Dtype: 可选数据类型order: C行序优先 或者 F列序优先实例import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # 填充为随机数据输出结果为[[-1.49166815e-154 -1.49166815e-154] [ 2.17371491e-313 2.52720790e-212]]numpy.matlib.zeros()numpy.matlib.zeros() 函数创建一个以 0 填充的矩阵。实例import numpy.matlib import numpy as np print (np.matlib.zeros((2,2)))输出结果为[[0. 0.] [0. 0.]]numpy.matlib.ones()numpy.matlib.ones()函数创建一个以 1 填充的矩阵。实例import numpy.matlib import numpy as np print (np.matlib.ones((2,2)))输出结果为[[1. 1.] [1. 1.]]numpy.matlib.eye()numpy.matlib.eye() 函数返回一个矩阵对角线元素为 1其他位置为零。numpy.matlib.eye(n, M,k, dtype)参数说明n: 返回矩阵的行数M: 返回矩阵的列数默认为 nk: 对角线的索引dtype: 数据类型实例import numpy.matlib import numpy as np print (np.matlib.eye(n 3, M 4, k 0, dtype float))输出结果为[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]numpy.matlib.identity()numpy.matlib.identity() 函数返回给定大小的单位矩阵。单位矩阵是个方阵从左上角到右下角的对角线称为主对角线上的元素均为 1除此以外全都为 0。实例import numpy.matlib import numpy as np # 大小为 5类型位浮点型 print (np.matlib.identity(5, dtype float))输出结果为[[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]numpy.matlib.rand()numpy.matlib.rand() 函数创建一个给定大小的矩阵数据是随机填充的。实例import numpy.matlib import numpy as np print (np.matlib.rand(3,3))输出结果为[[0.23966718 0.16147628 0.14162 ] [0.28379085 0.59934741 0.62985825] [0.99527238 0.11137883 0.41105367]]矩阵总是二维的而 ndarray 是一个 n 维数组。 两个对象都是可互换的。实例import numpy.matlib import numpy as np i np.matrix(1,2;3,4) print (i)输出结果为[[1 2] [3 4]]实例import numpy.matlib import numpy as np j np.asarray(i) print (j)输出结果为[[1 2] [3 4]]实例import numpy.matlib import numpy as np k np.asmatrix (j) print (k)输出结果为[[1 2] [3 4]]下面这些函数也存在于 NumPy 命名空间中但它们返回的是矩阵对象。函数名称参数说明功能描述matrix(data[, dtype, copy])data类数组或字符串dtype数据类型copy是否复制从数组或字符串创建矩阵对象asmatrix(data[, dtype])data输入数据dtype数据类型可选将输入转换为矩阵对象bmat(obj[, ldict, gdict])obj字符串或嵌套序列ldict、gdict命名空间字典可选从字符串、嵌套序列或数组构建矩阵empty(shape[, dtype, order])shape形状dtype数据类型order存储顺序创建未初始化元素的矩阵zeros(shape[, dtype, order])shape形状dtype数据类型order存储顺序创建全零矩阵ones(shape[, dtype, order])shape形状dtype数据类型order存储顺序创建全一矩阵eye(n[, M, k, dtype, order])n行数M列数k对角线偏移dtype数据类型order存储顺序创建对角线为1其余为0的矩阵identity(n[, dtype])n大小dtype数据类型可选创建单位方阵repmat(a, m, n)a数组或矩阵m、n重复次数将数组或矩阵重复 m 行 n 列rand(args)args指定矩阵形状生成指定形状的均匀分布随机矩阵randn(args)args指定矩阵形状生成指定形状的标准正态分布随机矩阵注意事项虽然numpy.matlib方便但 NumPy 官方推荐使用ndarray和运算符来完成矩阵运算因为matrix类型存在一些限制且在未来版本中可能被弃用。新代码建议优先使用ndarray以保证更好的兼容性和灵活性。
返回列表