NumPy 矩阵库(Matrix)
2019-02-24 10:26:23
•
阅读
打赏
NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。
由 m × n 个数aij排成的 m 行 n 列的数表称为 m 行 n 列的矩阵,简称 m × n 矩阵。记作

这 m×n 个数称为矩阵 A 的元素,简称为元,数 aij 位于矩阵 A 的第 i 行第 j 列,称为矩阵 A 的 (i,j) 元,以数 aij 为 (i,j) 元的矩阵可记为 (aij) 或 (aij) m × n,m×n 矩阵 A 也记作 Amn。
矩阵里的元素可以是数字、符号或数学式。
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))) # 填充为随机数据
# [[6.23042070e-307 1.95818994e-306]
# [6.23060744e-307 2.07958987e-312]]
numpy.matlib.zeros()
此函数返回以零填充的矩阵。
import numpy.matlib
import numpy as np
print (np.matlib.zeros((2,2)))
# [[0. 0.]
# [0. 0.]]
numpy.matlib.ones()
此函数返回以 1 填充的矩阵。
import numpy.matlib
import numpy as np
print (np.matlib.ones((2,2)))
# [[1. 1.]
# [1. 1.]]
numpy.matlib.eye()
函数返回一个矩阵,对角线元素为 1,其他位置为零。
numpy.matlib.eye(n, M,k, dtype)
参数说明:
- n: 返回矩阵的行数
- M: 返回矩阵的列数,默认为 n
- k: 对角线的索引
- dtype: 数据类型
import numpy.matlib
import numpy as np
print(np.matlib.eye(n=3, M=5, k=0, dtype=float))
# [[1. 0. 0. 0. 0.]
# [0. 1. 0. 0. 0.]
# [0. 0. 1. 0. 0.]]
numpy.matlib.identity()
函数返回给定大小的单位矩阵。单位矩阵是主对角线元素都为 1 的方阵。
单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 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()
函数创建一个给定大小的矩阵,数据是随机填充的。
import numpy.matlib
import numpy as np
print(np.matlib.rand(3, 3))
# [[0.94907972 0.58370716 0.21849168]
# [0.68739709 0.58956855 0.25621956]
# [0.1159588 0.99660053 0.51995099]]
矩阵总是二维的,而 ndarray 是一个 n 维数组。 两个对象都是可互换的。
import numpy as np
i = np.matrix('1,2;3,4')
print(i)
j = np.asarray(i)
print(j)
k = np.asmatrix(j)
print(k)
# [[1 2]
# [3 4]]

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型