神经网络与深度学习(邱锡鹏)编程练习 1 实验
源代码:
# numpy练习题 print("-----------numpy练习题 1-----------") # 1.导入numpy库 import numpy as np print("-----------numpy练习题 2-----------") # 2.建立一个一维数组a初始化为[4, 5, 6], # (1) 输出a的类型(type) # (2) 输出a的各维度的大小(shape) # (3) 输出a的第一个元素(值为4) a = np.array([4, 5, 6]) print("type:", type(a)) print("shape:", a.shape) print("a[0]:", a[0]) print("-----------numpy练习题 3-----------") # 3.建立一个二维数组b, 初始化为[[4, 5, 6], [1, 2, 3]] # (1) 输出各维度的大小(shape) # (2) 输出b(0, 0),b(0, 1), b(1, 1) 这三个元素(对应值分别为4, 5, 2) b = np.array([[4, 5, 6], [1, 2, 3]]) print("shape:", b.shape) print("b[0, 0], b[0, 1], b[1, 1]:", b[0, 0], b[0, 1], b[1, 1]) print("-----------numpy练习题 4-----------") # 4. (1)建立一个全0矩阵 a, 大小为3x3; 类型为整型(提示: dtype = int) # (2)建立一个全1矩阵 b, 大小为4x5; # (3)建立一个单位矩阵 c, 大小为4x4; # (4)生成一个随机数矩阵 d, 大小为3x2. a = np.zeros((3, 3), dtype=int) print(a) b = np.ones((4, 5)) print(b) c = np.identity(4) print(c) d = np.random.rand(3, 2) print(d) print("-----------numpy练习题 5-----------") # 5.建立一个数组a, (值为[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]), # (1)打印a; # (2)输出下标为(2, 3), (0, 0)这两个数组元素的值 a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print(a) print(a[2][3], a[0][0]) print("-----------numpy练习题 6-----------") # 6.把上一题的a数组的"0到1行""2到3列",放到b里面去,(此处不需要从新建立a, 直接调用即可) # (1)输出b; # (2)输出b的(0, 0)这个元素的值 b = a[0:2, 2:4] print(b) print(b[0, 0]) print("-----------numpy练习题 7-----------") # 7.把第5题中数组a的最后两行所有元素放到c中,(提示: a[1:2, :]) # (1)输出c; # (2)输出c中第一行的最后一个元素(提示,使用 - 1表示最后一个元素) c = a[1:3, :] print(c) print(c[-1][-1]) print("-----------numpy练习题 8-----------") # 8.建立数组a, 初始化a为[[1, 2], [3, 4], [5, 6]],输出 (0, 0)(1, 1)(2, 0)这三个元素 # (提示: 使用 print(a[[0, 1, 2], [0, 1, 0]]) ) a = np.array([[1, 2], [3, 4], [5, 6]]) print(a[[0, 1, 2], [0, 1, 0]]) print("-----------numpy练习题 9-----------") # 9.建立矩阵a, 初始化为[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],输出(0, 0), (1, 2), (2, 0), (3, 1) # (提示使用 b = np.array([0, 2, 0, 1]) print(a[np.arange(4), b])) a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) b = np.array([0, 2, 0, 1]) print(a[np.arange(4), b]) print("-----------numpy练习题 10-----------") # 10.对9中输出的那四个元素,每个都加上10,然后重新输出矩阵a.(提示: a[np.arange(4), b] += 10 ) a[np.arange(4), b] += 10 print(a) print("-----------numpy练习题 11-----------") # 11.执行x = np.array([1, 2]),然后输出x的数据类型 x = np.array([1, 2]) print(x.dtype) print("-----------numpy练习题 12-----------") # 12.执行x = np.array([1.0, 2.0]) ,然后输出x的数据类类型 x = np.array([1.0, 2.0]) print(x.dtype) print("-----------numpy练习题 13-----------") # 13.执行x = np.array([[1, 2], [3, 4]], dtype=np.float64) ,y = np.array([[5, 6], [7, 8]], dtype=np.float64), # 然后输出 x + y, 和np.add(x, y) x = np.array([[1, 2], [3, 4]], dtype=np.float64) y = np.array([[5, 6], [7, 8]], dtype=np.float64) print(x + y) print(np.add(x, y)) print("-----------numpy练习题 14-----------") # 14.利用13题目中的x, y输出x - y和np.subtract(x, y) print(x - y) print(np.subtract(x, y)) print("-----------numpy练习题 15-----------") # 15.利用13题目中的x,y输出x * y, 和np.multiply(x, y)还有np.dot(x, y), 比较差异。然后自己换一个不是方阵的试试。 print(x * y) print(np.multiply(x, y)) print(np.dot(x, y)) # np.multiply():数组和矩阵对应位置相乘,输出与相乘数组/矩阵大小一致。 # np.dot():执行矩阵乘法运算,若秩为1,则执行对应位置相乘再相加。 print("-----------numpy练习题 16-----------") # 16.利用13题目中的x, y, 输出x / y.(提示 : 使用函数np.divide()) print(x / y) print(np.divide(x, y)) print("-----------numpy练习题 17-----------") # 17.利用13题目中的x, 输出x的开方。(提示: 使用函数 np.sqrt() ) print(np.sqrt(x)) print("-----------numpy练习题 18-----------") # 18.利用13题目中的x, y, 执行print(x.dot(y))和print(np.dot(x, y)) print(x.dot(y)) print(np.dot(x, y)) print("-----------numpy练习题 19-----------") # 19.利用13题目中的x, 进行求和。提示:输出三种求和 # (1)print(np.sum(x)) # (2)print(np.sum(x,axis = 0 )) # (3)print(np.sum(x, axis=1)) print(np.sum(x)) print(np.sum(x, axis=0)) # 列求和 print(np.sum(x, axis=1)) # 行求和 print("-----------numpy练习题 20-----------") # 20.利用13题目中的x, 进行求平均数 # 提示:输出三种平均数 # (1)print(np.mean(x)) # (2)print(np.mean(x, axis=0)) # (3)print(np.mean(x, axis=1)) print(np.mean(x)) print(np.mean(x, axis=0)) print(np.mean(x, axis=1)) print("-----------numpy练习题 21-----------") # 21.利用13题目中的x,对x进行矩阵转置,然后输出转置后的结果,(提示: x.T表示对x的转置) print(x.T) print("-----------numpy练习题 22-----------") # 22.利用13题目中的x, 求e的指数(提示: 函数np.exp()) print(np.exp(x)) print("-----------numpy练习题 23-----------") # 23.利用13题目中的x, 求值最大的下标 # 提示 # (1)print(np.argmax(x)), # (2)print(np.argmax(x, axis=0)) # (3)print(np.argmax(x, axis=1)) print(np.argmax(x)) print(np.argmax(x, axis=0)) print(np.argmax(x, axis=1)) print("-----------numpy练习题 24-----------") # 24. 画图,y = x * x 其中x = np.arange(0, 100, 0.1) (提示这里用到matplotlib.pyplot库) import matplotlib.pyplot as plt x = np.arange(0, 100, 0.1) y = x * x plt.plot(x, y) plt.show() print("-----------numpy练习题 25-----------") # 25.画图。画正弦函数和余弦函数, x = np.arange(0, 3 * np.pi, 0.1)(提示:这里用到np.sin()np.cos()函数和matplotlib.pyplot库) x = np.arange(0, 3 * np.pi, 0.1) y1 = np.sin(x) y2 = np.cos(x) plt.plot(x, y1) plt.plot(x, y2) plt.show() print("-----------numpy练习题 END-----------")
执行结果:
-----------numpy练习题 1----------- -----------numpy练习题 2----------- type: <class 'numpy.ndarray'> shape: (3,) a[0]: 4 -----------numpy练习题 3----------- shape: (2, 3) b[0, 0], b[0, 1], b[1, 1]: 4 5 2 -----------numpy练习题 4----------- [[0 0 0] [0 0 0] [0 0 0]] [[1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.]] [[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]] [[0.8283075 0.7209645 ] [0.43251958 0.6822528 ] [0.15579525 0.8218743 ]] -----------numpy练习题 5----------- [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] 12 1 -----------numpy练习题 6----------- [[3 4] [7 8]] 3 -----------numpy练习题 7----------- [[ 5 6 7 8] [ 9 10 11 12]] 12 -----------numpy练习题 8----------- [1 4 5] -----------numpy练习题 9----------- [ 1 6 7 11] -----------numpy练习题 10----------- [[11 2 3] [ 4 5 16] [17 8 9] [10 21 12]] -----------numpy练习题 11----------- int32 -----------numpy练习题 12----------- float64 -----------numpy练习题 13----------- [[ 6. 8.] [10. 12.]] [[ 6. 8.] [10. 12.]] -----------numpy练习题 14----------- [[-4. -4.] [-4. -4.]] [[-4. -4.] [-4. -4.]] -----------numpy练习题 15----------- [[ 5. 12.] [21. 32.]] [[ 5. 12.] [21. 32.]] [[19. 22.] [43. 50.]] -----------numpy练习题 16----------- [[0.2 0.33333333] [0.42857143 0.5 ]] [[0.2 0.33333333] [0.42857143 0.5 ]] -----------numpy练习题 17----------- [[1. 1.41421356] [1.73205081 2. ]] -----------numpy练习题 18----------- [[19. 22.] [43. 50.]] [[19. 22.] [43. 50.]] -----------numpy练习题 19----------- 10.0 [4. 6.] [3. 7.] -----------numpy练习题 20----------- 2.5 [2. 3.] [1.5 3.5] -----------numpy练习题 21----------- [[1. 3.] [2. 4.]] -----------numpy练习题 22----------- [[ 2.71828183 7.3890561 ] [20.08553692 54.59815003]] -----------numpy练习题 23----------- 3 [1 1] [1 1] -----------numpy练习题 24----------- -----------numpy练习题 25----------- -----------numpy练习题 END----------- 进程已结束,退出代码0