参考.
1 np.finfo(float).eps
np.finfo使用方法
eps是一个很小的非负数
除法的分母不能为0的,不然会直接跳出显示错误。
使用eps将可能出现的零用eps来替换,这样不会报错。
import numpy as np
x = np.array([1, 2, 3], dtype=float)
eps = np.finfo(x.dtype).eps # eps = 2.220446049250313e-16 type = <class 'numpy.float64'>
print(eps, type(eps))
height = np.array([0, 2, 3], dtype=float)
height = np.maximum(height, eps) #一旦height中出现0,就用eps进行替换
print(height) #[2.22044605e-16 2.00000000e+00 3.00000000e+00]
dy = x / height
print(dy) #[4.50359963e+15 1.00000000e+00 1.00000000e+00]
2 matlab 取整
Matlab取整函数有: fix, floor, ceil, round.具体应用方法如下:
fix朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor,顾名思义,就是地板,所以是取比它小的整数,即朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;floor(-1.8)=-2,floor(1.8)=1
ceil,与floor相反,它的意思是天花板,也就是取比它大的最小整数,即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,ceil(1.8)=2
round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。