import numpy as np
a=np.array([[1,2,3],
[4,5,6]]) #生成一个【1,2,3
4,5,6】的矩阵
b=np.zeros((2,2),int) #生成一个全0的,2x2的,元素为整型的矩阵
c=np.ones((2,4),int) #生成一个2x4的全1的,元素为整型的矩阵
d=np.empty([2,3])
e=np.arange(1,10,2) #从1生成到10(不包括10),步长为2
f=np.eye(3) #生成3x3的单位阵
a4=a-c #矩阵相减
a5=a+c #矩阵相加
a1=a.dot(f) #a1的结果为axf
a2=np.linalg.inv(a) #a2为a的逆矩阵
print(a.shape) #返回行x列
print(a.T) #计算a的转置矩阵
此外,计算逆矩阵时,必须保证矩阵可逆,
即矩阵为方阵,
且行列式不为0(矩阵任意两列线性无关)
另一种创建矩阵方法,以及向矩阵中插入一列或一行
import numpy as np
def main():
a=np.mat([[1,2],[3,4]])
b=np.mat([[1],[1]])
#向a中插入b
c=np.c_[a,b]
print(a)
print(b)
print(c)
main()
#输出
[[1 2]
[3 4]]
[[1]
[1]]
[[1 2 1]
[3 4 1]]
#向a中插入d
d=np.mat([[2,2]])
e=np.r_[a,d]
print(e)
#输出
[[1 2]
[3 4]
[2 2]]
#np.c_[]也可以接收多个参数
c=np.c_[a,b,b]
print(c)
#输出
[[1 2 1 1]
[3 4 1 1]]
此外,np.mat()也可以创建矩阵,它和np.array()的区别是array可以创建一维矩阵,而mat不能创建一维矩阵,如果要用到ravel()将矩阵降到一维的方法,不要用mat创建矩阵。