python内置数学模块math详解

python内置数学模块math

提供了一些基础的计算功能,下列表达式默认from math import *,默认输入输出均为一个数字。大部分函数都很直观,望文生义即可。

常见函数
三角和反三角 cos, sin, tan, acos, asin, atan
atan2(x,y)= arctan ⁡ y x \arctan\frac{y}{x} arctanxy
双曲和反双曲 cosh, sinh, tanh, acosh, asinh, atanh
幂函数 exp, sqrt, expm1(x)= e x − 1 e^x-1 ex1, pow(x,y)= x y x^y xy
对数函数 log, log10, log2, log1p(x)= ln ⁡ ( 1 + x ) \ln(1+x) ln(1+x)
log(x)= ln ⁡ x \ln x lnx, log(x,y)= log ⁡ y x \log_yx logyx
取整 向上ceil, 向下floor,实值向下取整trunc
isqrt(x)相当于floor(sqrt(x))
角度转换 转角度degrees,转弧度radians
拆分 a,b = modf(x)即x=a.b,a,b=frexp(x) x = a ⋅ 2 b x=a\cdot2^b x=a2b
其他函数 阶乘factorial,绝对值fabs,最小有效比特位的值ulp
特殊函数
erf(x) 误差函数, 2 π ∫ 0 x e − η 2 d η \frac{2}{\sqrt\pi}\int^x_0e^{-\eta^2}\text d\eta π 20xeη2dη
erfc(x) 补误差函数,即1.0-erf(x)
gamma(x) gamma函数, ∫ 0 + ∞ t x − 1 t − t d t ( x > 0 ) \int^{+\infty}_0t^{x-1}t^{-t}\text dt(x>0) 0+tx1ttdt(x>0)
lgamma(x) gamma函数,即log(abs(gamma(x)))
判断函数 True的条件
isfinite(x) x为有限的数值
isinf(x) x为正负无穷大
isnan(x) x为nan
常量 π \pi π e e e τ = 2 π \tau=2\pi τ=2π inf ⁡ \inf inf nan
3.14… 2.71… 6.28… 正无穷 非数字
代码 pi e tau inf nan
输入 输入为任意多个数值的函数
整数 最大公约数gcd,最小公倍数lcm
数值 精确求和fsum, 欧几里得范数hypot(可理解为均方根)
连乘prod,可选参数start表示初始值

其他函数

  • comb(n,k)= C n k = n ! k ! ( n − k ) ! C^k_n=\frac{n!}{k!(n-k)!} Cnk=k!(nk)!n!,即二项系数
  • perm(n,k)= n ! ( n − k ) ! \frac{n!}{(n-k)!} (nk)!n!
  • copysign(a,b)= ∣ a ∣ ⋅ b ∣ b ∣ |a|\cdot\frac{b}{|b|} abb
  • dist(p,q)= ∑ i ( p i − q i ) 2 \sum_i(p_i-q_i)^2 i(piqi)2
  • ldexp(x, i)= x ⋅ 2 i x\cdot 2^i x2i
  • 求余数:fmod(x,y)remainder(x, y)
  • nextafter(x, y),返回x趋向于y的最接近的浮点数值。

isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

  • 若 a 和 b 的值比较接近则返回True,否则False
  • rel_tol 是相对容差,表示a, b之间允许的最大差值。例如,要设置5%的容差,rel_tol=0.05。rel_tol 必须大于0。
  • abs_tol 是最小绝对容差,其值不小于0。
  • 等价于abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

你可能感兴趣的:(Python,python,python.math,math)