- 1.数组四则运算
- 2.矩阵创建
- 3. 矩阵运算
import numpy as np a = np.arange(9, dtype = np.float_).reshape(3,3) print(a) b = np.array([11,22,33]) print(np.add(a,b)) print(np.subtract(a,b)) print(np.multiply(a,b)) print(np.divide(a,b))2.矩阵创建
import numpy as np
import numpy.matlib as nm
# 填充2x2随机矩阵
print(nm.empty((2,2)))
print("=================")
# 创建0阵
print(nm.zeros((2,2)))
# 创建1阵
print(nm.ones((2,3)))
print("=================")
# 创建对角线元素为1的矩阵
print(nm.eye(3,4,0,float))
print(nm.eye(3,4,1,float))
print(nm.eye(3,4,2,float))
print("=================")
# 创建单位阵
print(nm.identity(3,float))
print("=================")
# 创建随机矩阵
print(nm.rand(2,2))
print("=================")
i = np.array([[1,2],[3,4]])
j = np.matrix([[1,2],[3,4]])
print(type(i))
print(type(j))
print(i+j)
3. 矩阵运算
import numpy.matlib as nm
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
# 求点积,元素对应相乘
print(np.dot(a,b))
print("=================") # [[1*11+2*13, 1*12+2*14],[3*11+4*13, 3*12+4*14]]
# 求向量点积
print(np.vdot(a,b))
print("=================") # 1*11 + 2*12 + 3*13 + 4*14 = 130
# 求向量内积
print(np.inner(np.array([1,2,3]),np.array([0,1,0]))) # 等价于 1*0+2*1+3*0
print(np.inner(a,b))
print("=================") #
# 求矩阵乘积
a = [[1,0],[0,1]]
b = [[4,1],[2,2]]
c = [1,2]
print(np.matmul(a,b))
print(np.matmul(a,c))
print("=================") #
# 多维数组乘积
a = np.arange(8).reshape(2,2,2) # 三维数组
b = np.arange(4).reshape(2,2)
print (np.matmul(a,b))
print("=================") #
# 矩阵行列式
a = np.array([[1,2], [3,4]])
print(np.linalg.det(a))
a = [[1,2], [3,4]]
print(np.linalg.det(a))
print("=================") #
# 求矩阵的逆
a = np.array([[1,1,1],[0,2,5],[2,5,-1]])
print(np.linalg.inv(a))
print("=================") #
# 求矩阵的转置
a = np.array([[1,2,3],[4,5,6]]) #方法1:利用ndarray的T属性
print(a.T)
a = np.matrix([[1,2,3],[4,5,6]]) #方法2:利用transpose()方法
print(a.transpose()) #注意:list不能使用这两种方法
print(a.T) # np.array()和np.matrix()可以看成是两种数据格式,对list进行转换
print("=================") #
# 求线性方程的解
A = [[1,1,1],[0,2,5],[2,5,-1]] # AX=B
B = [[6],[-4],[27]]
X1 = np.dot(np.linalg.inv(A),B)
X2 = np.linalg.solve(A,B)
print(X1)
print(X2)
参考链接:
- https://www.runoob.com/numpy/numpy-tutorial.html



