NumPy 矩阵库函数

NumPy包含一个矩阵库NumPy.matlib,这个模块的函数用于处理矩阵而不是ndarray对象。

NumPy中,ndarray数组可以是n维的,与此不同,矩阵总是二维的,但这两种对象可以相互转换。

matlib.empty()

empty()函数返回一个新的矩阵,但不会初始化矩阵元素。

numpy.matlib.empty(shape, dtype, order)
  • shape 定义新矩阵形状的int或int的元组
  • dtype 可选,指定矩阵数据类型
  • order C 或 F

示例

import numpy.matlib 
import numpy as np 

a = np.matlib.empty((2,2))
print (a)

输出

[[6.91241356e-310 1.37748664e-316]
 [6.91240378e-310 6.91240378e-310]]

可以看到,矩阵元素都是随机值。

numpy.matlib.zeros()

zeros()函数返回一个新的矩阵,矩阵元素被初始化为0。

示例

import numpy.matlib 
import numpy as np 

a = np.matlib.zeros((2,2))
print (a)

输出

[[ 0.  0.] 
 [ 0.  0.]] 

numpy.matlib.ones()

zeros()函数返回一个新的矩阵,矩阵元素被初始化为1。

示例

import numpy.matlib 
import numpy as np 

a = np.matlib.zeros((2,2))
print (a)

输出

[[ 1.  1.] 
 [ 1.  1.]] 

numpy.matlib.eye()

eye()函数返回一个矩阵,对角线上的元素都是1,其它地方都是0。该函数接受以下参数。

numpy.matlib.eye(n, M, k, dtype)
  • n 返回矩阵中的行数
  • M 列数,默认为n
  • k 对角线的开始索引
  • dtype 矩阵的数据类型

示例

import numpy.matlib 
import numpy as np 

print('对角线的开始索引为0:')
print(np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))
print('\n')

print('对角线的开始索引为1:')
print(np.matlib.eye(n = 3, M = 4, k = 1, dtype = float))
print('\n')

输出

对角线的开始索引为0:
 [[1. 0. 0. 0.]
  [0. 1. 0. 0.]
  [0. 0. 1. 0.]]

对角线的开始索引为1:
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]

numpy.matlib.identity()

identity()函数返回指定大小的单位矩阵。单位矩阵是一个所有对角元素都为1的方阵。

示例

import numpy.matlib 
import numpy as np 
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()

rand()函数返回一个指定大小的矩阵,其中填充随机值。

示例

import numpy.matlib 
import numpy as np 
print (np.matlib.rand(3,3))

输出

[[0.5413199  0.5749519  0.19755942]
 [0.57128833 0.24267348 0.65186677]
 [0.08517    0.9238393  0.15061818]]
posted @ 2019-08-15 09:49  吴吃辣  阅读(427)  评论(0编辑  收藏  举报