1 # -*- coding: utf-8 -*- 2 3 ############################################################################### 4 ####################### 正文代码 ####################### 5 ############################################################################### 6 7 # 代码 2-30 8 import numpy as np #导入NumPy库 9 matr1 = np.mat("1 2 3;4 5 6;7 8 9") #使用分号隔开数据 10 print('创建的矩阵为:',matr1) 11 12 matr2 = np.matrix([[123],[456],[789]]) 13 print('创建的矩阵为:',matr2) 14 15 16 # 代码 2-31 17 arr1 = np.eye(3) 18 print('创建的数组1为:',arr1) 19 20 arr2 = 3*arr1 21 print('创建的数组2为:',arr2) 22 23 print('创建的矩阵为:',np.bmat("arr1 arr2; arr1 arr2")) 24 25 26 # 代码 2-32 27 matr1 = np.mat("1 2 3;4 5 6;7 8 9") #创建矩阵 28 print('创建的矩阵为:',matr1) 29 30 matr2 = matr1*3 #矩阵与数相乘 31 print('创建的矩阵为:',matr2) 32 print('矩阵相加结果为:',matr1+matr2) #矩阵相加 33 print('矩阵相减结果为:',matr1-matr2) #矩阵相减 34 print('矩阵相乘结果为:',matr1*matr2) #矩阵相乘 35 print('矩阵对应元素相乘结果为:',np.multiply(matr1,matr2)) 36 37 # 代码 2-33 38 ''' 39 print('矩阵转置结果为:',matr1.T) #转置 40 print('矩阵共轭转置结果为:',matr1.H) #共轭转置(实数的共轭就是其本身) 41 print('矩阵的逆矩阵结果为:',matr1.I) #逆矩阵 42 print('矩阵的二维数组结果为:',matr1.A) #返回二维数组的视图 43 ''' 44 # 代码 2-34 45 x = np.array([1,2,3]) 46 y = np.array([4,5,6]) 47 print('数组相加结果为:',x + y) #数组相加 48 print('数组相减结果为:',x - y) #数组相减 49 print('数组相乘结果为:',x * y) #数组相乘 50 print('数组相除结果为:',x / y) #数组相除 51 print('数组幂运算结果为:',x ** y) #数组幂运算 52 53 # 代码 2-35 54 x = np.array([1,3,5]) 55 y = np.array([2,3,4]) 56 print('数组比较结果为:',x < y) 57 print('数组比较结果为:',x > y) 58 print('数组比较结果为:',x == y) 59 print('数组比较结果为:',x >= y) 60 print('数组比较结果为:',x <= y) 61 print('数组比较结果为:',x != y) 62 63 # 代码 2-36 64 print('数组逻辑运算结果为:',np.all(x == y)) #np.all()表示逻辑and 65 print('数组逻辑运算结果为:',np.any(x == y)) #np.any()表示逻辑or 66 67 # 代码 2-37 68 arr1 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]]) 69 print('创建的数组1为:',arr1) 70 print('数组1的shape为:',arr1.shape) 71 arr2 = np.array([1,2,3]) 72 print('创建的数组2为:',arr2) 73 print('数组2的shape为:',arr2.shape) 74 print('数组相加结果为:',arr1 + arr2) 75 76 # 代码 2-38 77 arr1 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]]) 78 print('创建的数组1为:',arr1) 79 print('数组1的shape为:',arr1.shape) 80 81 arr2 = np.array([1,2,3,4]).reshape((4,1)) 82 print('创建的数组2为:',arr2) 83 print('数组2的shape为:',arr2.shape) 84 print('数组相加结果为:',arr1 + arr2)