python随机数组,高斯噪声,多项式函数
在前面的numpy的学习中忽略了这几个重要的知识点,导致今天做作业异常的艰难。现在十分必要将它记录下来。
1.np.random.*必须的是一个非常强的命令啊。不仅可以产生随机数(包括随机整数,实数;一维的,二维的等等),还可以产生正态分布的数(既可以用它来产生扰动或者是高斯噪声)。
(1)numpy.random.rand(d0, d1, ..., dn) shape为:(d0, d1, ..., dn)
(2)numpy.random.normal(loc=0.0, scale=1.0, size=None)loc 均值,scale 标准差,size大小。
Display the histogram of the samples, along with the probability density function:
(3)numpy.random.uniform(low=0.0, high=1.0, size=1) 均匀分布一样的。
(4)多项式函数
p=np.poly1d(a),其中,a是多项式由高次到0次方的系数。
>>> a
array([ 0.97712037, -1.39644265, -0.96801519, 0.97348607, 0.4140714 ])
>>> p=np.poly1d(a)
>>> type(p)
<class ‘numpy.lib.polynomial.poly1d‘>
还有一个可以用来做多项式拟合的函数:np.polyfit()
常用总结:
1,np.random.random(10)随机生成一个10个值(值的大小为0~1)的一维数组;
2,np.random.rand(10,10)随机生成一个10*10(值的大小为0~1)的二维数组(还可以是任意维数组);
3 , np.random.randint(1,10,(4,5))随机生成一个4*5(值的大小为1~10)的数组(还可以为某个范围内的任意维数组);用 b = arange(20).reshape(4,5) 也可以达到这个效果。
4,np.random.randn(2,3)从标准正态分布中产生一个2*3的数组。
5,np.random.normal(2,0.5,(2,3))产生的是一个2*3的高斯噪声点数组集合(均值为:2,标准差:0.5)。
另外补充:
1.np.arange(0,1,0.1)产生的是0,0.1~0.9这10个点,要产生0,0.1~0.9,1的话将里面的1改为1.1就可以了;
2.for i in range(10)也是0到9的十个点;
3.np.linspace(0,1,10)产生的是0,1/9,2/9~1这10个点。因为有0的存在所以是将0到10均分为9分了。若是想产生0,0.1~0.9,1的化将里面的10设置为11.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。