有下面的程序:
f是已知数组,精度为小数点后10位。f=[1.0, 0.9797959184, 0.9595918367,..]
def F3(x,a,b):
help3 = special.beta(a,b)*a
help2 = special.hyp2f1(a,1-b,1+a,x)
help1 = x**a
func = help1*help2/help3
return func
PDF = F3(f,alpha,beta_)
alpha和beta_都是已知的常数。运行后输出的PDF精度太高了。类似于:
PDF=[1.00000000e+000, -2.17492975e+016, -2.42478284e+015,...]
想把这组数据变成精度为小数点后4位的数。请问该怎么改?试了round和格式化,说array不能这样。在def F3中修改,会出现‘
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 6, in F3
TypeError: float argument required, not numpy.ndarray‘
或者最好是在F3整个方程运算时就不需要那么高的精度。保持小数点后四位就可以了
喵喵时光机
慕姐4208626
相关分类