利用numpy中相关模块随机产生10000个服从 -11区间上均匀分布的实数同时随机产生10000个服从标准正态分布的实数由此获得两个一维数组分别记为A和B。请计算下列式子的值: a A+B b A和B的乘积 c AB d expA+expB e A和B的内积 f数组B全体元素的平均值最大值最小值。
代码如下:
import numpy as np
# 生成10000个服从[-1,1]均匀分布的实数
A = np.random.uniform(-1, 1, 10000)
# 生成10000个服从标准正态分布的实数
B = np.random.normal(0, 1, 10000)
# (a) A+B
print("A+B = ", A+B)
# (b) A和B的乘积
print("A*B = ", A*B)
# (c) A/B
# 注意避免除0的情况
print("A/B = ", np.divide(A, B, out=np.zeros_like(A), where=B!=0))
# (d) exp(A)+exp(B)
print("exp(A)+exp(B) = ", np.exp(A)+np.exp(B))
# (e) A和B的内积
print("A·B = ", np.dot(A, B))
# (f) 数组B全体元素的平均值,最大值,最小值
print("B的平均值 = ", np.mean(B))
print("B的最大值 = ", np.max(B))
print("B的最小值 = ", np.min(B))
输出结果如下:
A+B = [-0.14116631 -0.00831023 -0.60162341 ... 0.56056665 -0.78908603
1.06767012]
A*B = [-0.00770683 -0.01132406 -0.02672484 ... -0.12927751 0.06878781
0.00342957]
A/B = [-0. -0. -1.44128453 ... -0.21560934 -0.97726938
0.65490384]
exp(A)+exp(B) = [1.92653238 1.05207428 0.42799587 ... 3.22110517 0.04639351 3.95262443]
A·B = -22.30717783460726
B的平均值 = -0.013174974240617484
B的最大值 = 4.072224048884417
B的最小值 = -4.021764524510881
原文地址: https://www.cveoy.top/t/topic/b25y 著作权归作者所有。请勿转载和采集!