Python--numpy 矩阵操作
作者:互联网
-
numpy矩阵库(Matrix)
numpy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是ndarray 对象。 一个m*n的矩阵是一个由m行(row)n列(column)元素排列成的矩形阵列。 矩阵里的元素可以是数字、符号或数学式。 numpy 和matlab 不一样,对于多维数组的运算,缺省情况下不适用矩阵运算,如果你希望对数组进行矩阵运算的话,可以调用ndarray对象相应的函数
-
numpy 矩阵生成
np.matrix()函数 np.matlib.empty(shape,dtype,order) 【shape:定义新矩阵形状的整数或整数元组; dtype:可选,数据类型;order:C(行序优先)或F(列序优先)】 np.matlib.zeros() np.matlib.ones() np.matlib.eye(n,M,k,dtype) 【返回矩阵,对角线元素为1,其他位置为0】 【区别于identity()*单位矩阵】 【n 行数;M 列数,默认为n ; k: 对角线的索引;dtype: 数据类型】 np.matlib. identity() 【返回给定大小的矩阵,方阵】 np.matlib.rand() 【创建给定大小的矩阵,数据随即填充,数据范围(0,1)】
-
numpy矩阵常用操作
矩阵与二维数组相互转换:矩阵总是二维的,而ndarray是一个n维数组。(n=2时,两个对象是可互换的) 矩阵转置 矩阵乘法
import numpy as np x = np.matirx([[1,2,3],[4,5,6]]) y = np.matrix([1,2,3,4,5,6]) print(x.T,y.T,sep='\n\n') [[1 4] [2 5] [3 6]] [[1] [2] [3] [4] [5] [6]] ``` 矩阵转置
.argmax(axis=1) 返回横向最大值
.diagonal() 返回对角线元素
-
矩阵运算
###常用的numpy.linalg.函数 diag 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0) dot 矩阵乘法 【1.对于两个一维数组,计算的是这两个数组对应下标元素的乘积和(内积) 2.对于二维数组,计算的是两个数组的矩阵乘积 3.对于多维数组 (通用公式,详情见度娘)】 vdot 【返回两个向量的点积,若第一个数是复数,那么它的共轭复数会用于计算。如果参数是多维数组,它会被展开】 trace 计算对角线元素的和 det 计算矩阵行列式 eig 计算方阵的特征值和特征向量 inv 计算方阵的逆 【设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得AB=BA=E,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。(E为单位矩阵)】 svd 计算奇异值分解 solve 解线性方程组Ax=b,其中A为一个方阵 lstsq 计算Ax =b 的最小二乘解
import numpy as np
x = np.([[1,2],[3,4]])
y = np.linalg.inv(x)
print(x)
print(y)
print(np.dot(x,y))
#检验逆矩阵
naozibugouyong
发布了5 篇原创文章 · 获赞 0 · 访问量 38
私信
关注
标签:Python,矩阵,数组,对角线,np,numpy,matlib 来源: https://blog.csdn.net/weixin_45962274/article/details/104201090