python中math模块的使用方法,python语言中math库的使用
我们在日常生活中编写程序时,通常会遇到需要运用数学来完成任务的情况。和其他编程语言一样,Python提供了各种基本运算,比如*表示乘法,%表示模运算,//表示整除。
如果你正在编写一个执行特定任务的程序,比如研究周期运动或模拟电路,你将需要使用三角函数以及复数。虽然不能直接使用这些函数,但是可以先导入两个数学模块来访问。这两个模块是math和cmath。
第一个模块允许你访问实数的双曲、三角和对数函数,而后者允许你使用复数。在本教程中,我将讨论这些模块提供的所有重要功能。除非明确指出,否则所有返回的值都是浮点数。
算术函数
这些函数执行各种算术运算,如下舍入、上舍入和取绝对值,分别对应于floor(x)、ceil(x)和fabs(x)。ceil(x)函数将返回大于或等于x的最小整数。同样,floor(x)将返回小于或等于x的最大整数。fabs(x)返回的x的绝对值。
您还可以执行重要的运算,例如使用factorial(x)计算一个数的阶乘。正整数的阶乘是所有小于或等于该数的正整数的乘积。它在组合和排列中应用广泛。它也可以用来计算正弦和余弦函数的值。
数学模块中另一个有用的函数是gcd(x,y)。求两个数字x和y的最大公约数(GCD)。当x和y都不为零时,该函数返回可被x和y整除的最大正整数。您可以使用以下公式间接计算两个数字的最小公倍数:
下面是Python提供的一些算术函数:
三角函数
这些函数将三角形的角度与它的边联系起来。它们有许多应用,包括三角形和周期现象的研究,如声波和光波的建模。请记住,您提供的角度以弧度表示。
可以直接用这个模块计算sin(x)、cos(x)和tan(x)。但是没有直接的公式计算cosec(x)、sec(x)和cot(x),但是它们的值分别等于sin(x)、cos(x)和tan(x)的返回值的倒数。
也可以用asin(x),acos(x),atan(x)做逆运算计算给定值的角度,而不是计算某个角度的三角函数的值。
你熟悉勾股定理吗?它指出斜边(直角的对边)长度的平方等于其他两条边的平方之和。斜边也是直角三角形最大的一边。数学模块提供hypot(a,b)函数来计算斜边的长度。
双曲线函数
双曲函数是基于双曲线而不是圆的三角函数的模拟。在三角函数中,点(cos b,sin b)代表单位圆的点。在双曲函数的情况下,点(cos b,sin b)代表等边双曲线的右半部分。
就像三角函数一样,我们可以直接计算出sinh(x),cosh(x),tanh(x)的值。其余的值可以使用这三个值之间的各种关系来计算。还有其他函数,如asinh(x)、acosh(x)和atanh(x),可以用来计算相应双曲值的倒数。
幂函数和对数函数
你可能会比双曲函数或三角函数更频繁地处理幂和对数。幸运的是,数学模块提供了许多函数来帮助我们计算对数。
可以使用log(x,[base])来计算给定底数的x值的对数。如果省略可选的radix参数,则基于e计算x的对数。这里,e是一个数学常数,值为2.71828182.顺便说一下,Python还允许您使用math.pi访问另一个常数
如果要计算以2或10为基数的对数值,使用log2(x)和log10(x)将返回比log(x,2)和log(x,10)更准确的结果。记住,没有log3(x)函数,所以你得用log(x,3)来计算以3为底数的对数值。这同样适用于所有其他基地。
如果正在计算的对数值非常接近1,可以使用log1p(x)。log1p中的1p代表1 plus。因此,log1p(x)计算log(1 x),其中x接近于零。log1p(x)的结果更准确。
您也可以使用pow(x,y)来计算数字x的y次方。在计算之前,此函数会将两个参数转换为浮点类型。如果希望最终结果以整数幂计算,应该使用内置的pow()函数或* *运算符。
您还可以使用sqrt(x)来计算任意给定数字x的平方根,但是使用pow(x,0.5)也可以做同样的事情。
复数
使用复杂的直角坐标或笛卡尔坐标将其存储在内部。z的复数笛卡尔坐标表示为z=x iy,其中点x表示实部,y表示虚部。另一种表达方式是用极坐标。
在这种情况下,复数z将被定义为模数r和相位角的组合。模数r是复数z和原点之间的距离。角度是从正x轴到连接z和原点的线段的逆时针角度,使用圆弧测量。
虽然cmath模块在处理复数时可以有很大的帮助。使用内置函数abs()可以计算复数的模,使用cmath模块提供的函数phase(z)可以计算其相位。可以使用polar(z)将复数从矩形形式转换为极坐标形式,这会返回一个tuple (r,phi),其中r是abs(z),phi是phase(z)。
同样,您可以使用rect(r,phi)将复数从极坐标形式转换为矩形形式。这个函数返回的复数是R *(math . cos(phi)math . sin(phi)* 1j)。
Cmath模块也允许我们用复数来使用普通的数学函数。例如,可以使用sqrt(z)计算复数的平方根,或者使用cos(z)计算复数的余弦。
最后的想法
上面讨论的所有这些功能都有其特定的应用。例如,您可以使用factorial(x)函数来解决排列组合问题。您可以使用三角函数将向量分解为笛卡尔坐标。你也可以用三角函数来模拟周期函数,比如声波和光波。
类似地,双曲线函数可以用来确定悬挂在两根杆子之间的绳子的曲线。因为所有这些函数都直接用在数学模块中,所以它可以很容易地创建小程序来执行所有这些任务。
希望你喜欢这个教程。如果有什么问题,可以在评论里告诉我。
英文原文:3359 code . tuts plus . com/tutorials/mathematical-modules-in-python-math-and-cmath-CMS-26913
译者:flqzdzxx
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。