Numpy中的矩阵运算
安装与使用
大型矩阵运算主要用matlab
或者sage
等专业的数学工具,但我这里要讲讲python中numpy
,用来做一些日常简单的矩阵运算!这是 numpy官方文档,英文不太熟悉的,还有 numpy中文文档
numpy 同时支持 python3 和 python2,在 python3 下直接pip install
安装即可,python2 的话建议用 .whl 安装,你可以在 这里查询 和你 python2 版本对应的 whl 文件。如果你使用 python2.7,我这里有打包好的 安装文件
常用函数
import numpy as np np.array([[1,2,3],[4,5,6]]) # 定义一个二维数组 np.mat([[1,2,3],[4,5,6]]) # 定义一个两行三列矩阵 np.mat(list) # 列表或者数组转 matrix(矩阵) np.tolist(matrix) # 与上面相反 np.shape(array) # 求矩阵或者数组array的维度 array.reshape(m,n) # 数组或矩阵重塑为m行n列 np.eye(m,n) # 创建m行n列单位矩阵 np.zeros([m,n],dtype) # 创建初始化为0的矩阵 # .transpose()转置矩阵 .inv()逆矩阵 # .T转置矩阵,.I逆矩阵
举个栗子
# python3 import numpy as np # 先创建一个长度为12的列表,,再重塑为4行3列的矩阵 list1 = [0,1,2,3,4,5,6,7,8,9,0,1] list1_to_mat = np.mat(list1) # 列表先转成矩阵 mat1 = list1_to_mat.reshape(4,3) # 重塑 print(mat1) # 求上面矩阵的转置矩阵和逆矩阵 mat_transpose = mat1.T mat_inv = mat1.I # 再定义一个3行4列的数组转成矩阵,和上面矩阵相乘 array1 = np.array([[1,2,3,4],[4,5,6,7],[3,2,1,0]]) mat2 = np.mat(array1) print(mat2) print(mat2*mat1) # 或者你可以用 np.dot()以及 np.multiply()
要注意:numpy 的数组和 python 的列表是有区别的,比如:列表 list 只有一维。然后 numpy 的数组和矩阵也有区别!比如:矩阵有逆矩阵,数组是没有逆的!!
END
相关推荐
sdwylry 2020-02-20
guangmingsky 2020-06-05
sasac 2020-09-25
huangjie0 2020-09-25
cloudking000 2020-09-11
xiaoxiaokeke 2020-07-28
mingyunxiaohai 2020-07-28
honghao0 2020-07-27
风吹夏天 2020-07-26
夕加加 2020-07-20
CallmeZhe 2020-06-29
zhoujiyu 2020-06-28
清风徐来水波不兴 2020-06-16
Happyunlimited 2020-06-15
wanff0 2020-06-14
cuiguanjun 2020-06-13
啸林 2020-06-12
jiayuqicz 2020-06-09
章鱼之家 2020-06-08