1.基本的数学运算与符号
1.1 基本的数学运算与符号
import numpy as np
np.pi #圆周率
3.141592653589793
np.e # 自然底数
2.718281828459045
+ 、- 、*、 /、 **
1e-10 # 1 x 10^(-10)
1.2 基本函数
import matplotlib.pyplot as plt
X = np.linspace(0,2 * np.pi,50)
Y = np.sin(X)
plt.plot(X,Y)
plt.show()
其他常用函数:
# 指数函数
x_exp = np.linspace(-10,10,100)
y_exp = 2 ** x_exp
# 对数函数
x_log = np.linspace(0,10,50)
y_log = np.log(x_log)
# 幂函数
x_pow = np.linspace(0,10,50)
y_pow = np.linspace(0,10,50)
1.3 切片与统计
data1 = np.array([1,2,3])
data2 = np.array([4,5,6])
data1+data2 # array([5,7,9])
data1*data2 # array([20,35,54])
data1.dot(data2) # 109
求余弦角度
如A同学学习3小时,打游戏1小时;B同学学习1小时,打游戏3小时.求A和B的相似性
A = np.array([3,1])
B = np.array([1,3])
cos_alpha = A.dot(B) / (np.linalg.norm(A) * np.linalg.norm(B))
cos_alpha # 0.4999999999999999
np.arccos(cos_alpha) # 得出alpha弧度 1.0471975511965979
#np.rad2deg 弧度转角度
#np.deg2rad 角度转弧度
np.rad2deg(0.9272952180016124)
datas = np.array([[90,92,80],[92,88,90]])
datas.sum() /datas.sum(axis=0或1)
datas.mean()
datas.std()
datas.madian()
1.4 导数与定积分
导数
x_sin = np.linspace(0,4 * np.pi,400)
y_sin = np.sin(x_sin)
y_cos = np.diff(y_sin)
plt.plot(x_sin[1:],y_cos)
plt.show()
定积分
x_sin_int = np.linspace(0,np.pi,20)
y_sin_int = np.sin(x_sin_int)
delta_x = x_sin_int[1]-x_sin_int[0] # 计算积分间隔的宽度
y_sin_int*delta_x # 求出每个小长方形的面积
# array([0.00000000e+00, 9.86960460e-16, 1.97392092e-15, ...,
# 1.97392093e-15, 9.86960474e-16, 3.84734143e-24])
(y_sin_int*delta_x).sum()
鸡兔同笼
a = np.array([[1,1],[2,4]])
b = np.array([35, 94])
np.linalg.inv(a).dot(b)
# array([23., 12.])