要使用数学方法首先需要包含头文件 import math(以下内容基于python3.8.6版本)
三角函数
弧度制:python中使用弧度制,180°=pi≈3.141592653589793(弧度),即180°用数字3.141592653589793表示,其他各个度数按此推算。
cos
math.cos(1)≈math.cos(57°)≈0.5403023058681398;计算余弦函数值
math.acos(-1)=math.arccos(-1)=3.141592653589793(弧度)=180°(角度);计算反余弦函数。括号内取值 -1≤ x ≤1(数学条件)
math.cosh(1)=1.5430806348152437;计算双曲余弦函数;括号内取值 -∞< x <+∞
(双曲余弦函数:y=(+)/2;定义域(-∞,+∞);值域[1,+∞))
math.acosh(1)=0;计算反双曲余弦函数。括号内取值 1≤ x <+∞
sin
math.sin(1)≈math.sin(57°)≈0.8414709848078965;计算正弦函数值;
math.asin(0)=math.arcsin(0)=0(弧度)=0°(角度);计算反正弦函数。括号内取值 -1≤ x ≤1(数学条件)
math.sinh(1)=1.1752011936438014;计算双曲正弦函数;括号内取值 -∞< x <+∞
(双曲正弦函数:y=(-)/ 2;定义域 (-∞,+∞);值域(-∞,+∞))
math.asinh(1)=0;计算反双曲正弦函数。括号内取值 -∞< x <+∞
tan
math.tan(1)=math.sin(1)/math.cos(1)≈math.tan(57°)≈1.5574077246549023;计算正切函数值
math.atan(1)=math.arctan(1)=0.7853981633974483(弧度)=45°(角度);计算反正切函数。括号内取值 -∞< x <+∞(数学条件)
math.atan2(1,2)=math.atan(0.5);atan2的好处在于可以计算x=c的直线的角度数。即math.atan2(c,0)
math.tanh(1)=math.sinh(1)/math.cosh(1)≈0.7615941559557649;计算双曲正切函数;括号内取值 -∞< x <+∞(数学条件)
(双曲正切函数:y= (-)/ (+);定义域(-∞,+∞);值域(-1,+1))math.atanh(0.5)=0.5493061443340549;计算反双曲正切函数。括号内取值 -1< x <1
DATA
math.e=2.718281828459045;自然对数的底数
math.pi=3.141592653589793;圆周率π
math.tau=6.283185307179586;返回一个常量值,该值大小为2π
math.inf;表示正无穷的数字,-math.inf表示负无穷的数;
math.nan;表示Not A Number 的小写 “nan”;用math.inf/math.inf可得到
其他
math.ceil(4.1)=5;将输入的数字向上取整
math.comb(8,5)= =56;计算组合数(排列组合知识)
math.copysign(1,-2)=-1.0;返回第一个数的浮点数的绝对值,符号为第二个数的符号(第二个数为-0,则返回仍为正数;为-0.0,返回为负数)
math.degrees(1)=57.29577951308232;1为弧度制,返回其角度制的值
math.dist(a,b);返回两个点的距离; 两个点的维度必须相同 ;
二维:a=[0,0] , b=[3,4],dist=5;
三维:a=[0,0,0],b=[3,4,5],dist=7.0710678118654755;
math.erf();计算误差函数,其值相当于=0,= 1/2的正态分布函数的分布函数
math.erfc();计算余补误差函数,其值相当于1-math.erf()
math.exp(x)=;计算e的x次方
math.expml(x)=-1;计算e的x次方减一(避免精度损失---------python)
math.fabs(x);返回x的浮点数的绝对值
math.factorial(x)=x!;返回x的阶乘
math.floor(4.9)=4;将输入的数向上取整
math.fmod(x,y)=x%y;模运算
math.frexp(x)=(a,b);其中除了math.frexp(0)外,0.5< math.fabs(a)<1,b为整数,且满足>x;x=a*
math.fsum(list);返回list的和(list内的元素需要为数字)
math.gamma(x);返回x的伽马函数值
math.gcd(x,y);返回x和y的最大公约数,最小公倍数=(x*y)/最大公约数
math.hypot(x,y);返回(x,y)坐标到原点(0,0)的距离
math.isclose(x,y,rel_tol = a,abs_tol = b);比较x和y的接近程度,当满足abs(a-b) <=max(rel_tol * max(abs(a),abs(b))),abs_tol)的时候,返回True,否则返回False
math.isclose(x,y),此时默认有:
rel_tol = value可选的。 相对公差。 它是值a和b之间的最大允许差。 默认值为1e-09
abs_tol = value可选的。最小绝对公差。它用于比较接近0的值。该值必须至少为0
同样也可输入这两个参数中的一个,则另外一个按默认
math.isfinite(x);如果x既不是无穷大也不是math.nan,则返回真,否则返回假
math.isinf(x);如果x是正无穷大或负无穷大,则返回真,否则返回假
math.isnan(x);如果x是math.nan(不是数字),则返回True,否则返回False
math.isqrt(10)= 3;返回平方根的整数部分
math.ldexp(a,b);返回a*2**b;b必须为整数
math.lgamma(x)=math.log(math.gamma(x));返回x的伽马值的对数值
math.log(x,y)=n;返回以y为底,x的对数;若只输入x,则返回x的以e为底的对数值
math.log10(x);返回x的以10为底的对数值
math.log1p(x);返回x的以e为底的对数值
math.log2(x);返回x的以3为底的对数值
math.modf(x)=(a,b);返回x的小数部分a与x的整数部分b,a,b与x同号
math.perm(x,y)= ;返回从x中取y个元素的排列数;若不输入y,math.perm(x)=math.factorial(x)=x!;返回x的全排列
math.pow(x,y);返回
math.prod(a);返回a中元素的乘积,a=list[ ];a中元素需要为数字
math.radians(57.29577951308232)=1.0;57.29577951308232为角度制,返回其弧度制的值
math.remainder(x,y);返回x%y的绝对值小的余数(含负数),如3%5=3,3%5=-2,abs(-2)<abs(3),此时取 - 2返回
math.sqrt(x);对x进行开平方,返回结果取浮点数类型
math.trunc(x);将实数x截断为最接近0的整数;x为正,向下取整,x为负,向上取整;
例如:math.trunc(-0.9999)=0;math.trunc(0.9999)=0