numpy提供了多项式函数
import numpy as np # 3 * x*x*x + 2 * x*x + 5 * x + 4 y = np.poly1d([3,2,5,4]) y(2) # 求导 dy = np.polyder(y) # np.poly1d([9,4,5]) dy(2)
根据系数计算导数
# 输入为数组,输出为导数的数组 def my_polyder(d): s = len(d) ret = [] for i,x in enumerate(d[0:s-1]): ret.append(x * (s-1-i)) return ret # 输入[3,2,5,4] # 输出[9,4,5]
随机数
# [0,1),参数是维度 np.random.rand() np.random.rand(10) np.random.rand(10,2) # 标准正态分布,参数是维度 np.random.randn() np.random.randn(10) np.random.randn(10,2) # 整数[low,high),用size表示维度 np.random.randint(10,21) # 10-20间100个数 np.random.randint(10,21,100) np.random.randint(10,21,size=100) np.random.randint(10,21,size=(2,100)) # 浮点数, [0.0, 1.0) np.random.random_sample() np.random.random_sample((10,2)) # 调整范围使用 (b - a) * random_sample() + a 50*np.random.random_sample()+50
np.random.rand()与np.random.random_sample()区别在哪?