Skip to content

Latest commit

 

History

History
99 lines (56 loc) · 1.81 KB

File metadata and controls

99 lines (56 loc) · 1.81 KB

精度与基本数学运算

精度

科学计算的一个核心点在于精度,numpy的默认精度是64位的浮点数.最高的精度可以用numpy.longdouble(f16)表示,复数用numpy.clongdouble(c32),但是这个具体能精确到多少是和你的电脑硬件相关的.

通常我们并不需要最高精度,这时可以使用numpy.around(a, decimals=0, out=None)来控制精度,其中a为要固定精度的数组,decimals则是精确到小数点后多少位(四舍五入).

import numpy as np
x = np.linspace(-np.pi, np.pi, 6,endpoint=True)
print(x)
[-3.14159265 -1.88495559 -0.62831853  0.62831853  1.88495559  3.14159265]
np.round(x)
array([-3., -2., -1.,  1.,  2.,  3.])
np.round(x,1)
array([-3.1, -1.9, -0.6,  0.6,  1.9,  3.1])
np.round(x,2)
array([-3.14, -1.88, -0.63,  0.63,  1.88,  3.14])

基本数学运算

numpy中也有常用数学运算的实现,由于做了足够的优化性能比python标准库高很多

一元运算

函数 说明
abs/fabs 绝对值
sqrt 平方根
square 平方
exp 指数
log/log10/log2/log1p 分别为自然对数(e为底数)/底数为10的log/底数为2的log/log(1+x)
sign 求符号
ceil 大于等于该值的最小整数
floor 小于等于该值的最大整数
rint 四舍五入到最近的整数,dtype不变
modf 小数整数部分分离
isnan ---
isfinite/isinf ---
sin/sinh/cos/cosh/tan/tanh 三角函数,双曲三角函数
arcsin/arcsinh/arccos/arccosh/arctan/arctanh 反三角函数,反双曲三角函数
logical_not 计算各元素not x的真值

二元运算

函数 说明
add
subtract
multiply
divide/floor_divide
power 乘方
maximun/fmax 最大值
minimum/fmin 最小值
mod 求模
copysign 将后面的符号付给前面