首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

cmath

该模块始终可用。它提供对复数的数学函数的访问。该模块中的函数接受整数,浮点数或复数作为参数。它们还将接受任何具有a __complex__()或a __float__()方法的Python对象:这些方法分别用于将对象转换为复数或浮点数,然后将该函数应用于转换结果。

注意

在硬件和系统级支持平台符号的零,涉及分支机构削减功能是连续两个分支切割面:零的符号与其他分支切口的一侧区别。在不支持带符号零的平台上,连续性如下所述。

1.转换到极坐标和从极坐标转换

Python复数z使用矩形笛卡尔坐标在内部存储。它完全由其实部 z.real虚部决定 z.imag。换一种说法:

代码语言:javascript
复制
z == z.real + z.imag*1j

极坐标给出了表示复数的另一种方式。在极坐标中,复数z由模量r和相位角φ定义。模数r是从z到原点的距离,而相位φ是从正x轴到连接原点到z的线段以弧度测量的逆时针角度。

可以使用以下函数将本地直角坐标转换为极坐标并将其转换回。

cmath.phase(x)

返回的相位X(也被称为自变量X),作为浮动。phase(x)相当于math.atan2(x.imag, x.real)。结果位于-π,π范围内,并且此操作的分支切割位于负实轴,从上面开始连续。在支持带符号零的系统(包括当前使用的大多数系统)上,这意味着结果的符号与符号相同x.imag,即使x.imag为零:

代码语言:javascript
复制
>>> phase(complex(-1.0, 0.0))
3.1415926535897931
>>> phase(complex(-1.0, -0.0))
-3.1415926535897931

2.6版本中的新功能。

注意

复数x的模数(绝对值)可以使用内置abs()函数来计算。cmath此操作没有单独的模块功能。

cmath.polar(x)

返回极坐标中x的表示形式。返回一对(r, phi),其中rx的模数,phi是x的相位。polar(x)相当于(abs(x), phase(x))

2.6版本中的新功能。

cmath.rect(r, phi)

用极坐标rphi返回复数x。相当于。r * (math.cos(phi) + math.sin(phi)*1j)

2.6版本中的新功能。

2.功率和对数函数

cmath.exp(x)

返回指数值e**x

cmath.log(x[, base])

x的对数返回给定的基数。如果未指定基数,则返回x的自然对数。有一个分支从0开始沿负实轴旋转到-∞,从上向下连续。

在版本2.4中更改:添加了基本参数。

cmath.log10(x)

返回x的基数为10的对数。这个分支与之相同log()

cmath.sqrt(x)

返回x的平方根。这个分支与之相同log()

3.三角函数

cmath.acos(x)

返回x的反余弦。有两个分支切割:一个从实轴向右延伸至∞,从下向下延伸。另一个从实轴-1从左向上延伸到-∞,从上面连续。

cmath.asin(x)

返回x的反正弦。这与之相同的分支切割acos()

cmath.atan(x)

返回x的反正切。有两个分支切割:一个从1j虚轴延伸到∞j右连续。另一个从-1j虚轴延伸到-∞j从左边连续。

版本2.6中改变:上切的连续性方向颠倒

cmath.cos(x)

返回x的余弦。

cmath.sin(x)

返回x的正弦值。

cmath.tan(x)

返回x的正切值。

4.双曲函数

cmath.acosh(x)

返回x的反双曲余弦。有一个分支切割,从实轴向左延伸到-∞,从上面连续。

cmath.asinh(x)

返回x的反双曲正弦。有两个分支切割:一个从1j虚轴延伸到∞j右连续。另一个从-1j虚轴延伸到-∞j从左边连续。

在版本2.6中进行了更改:分支切割已移至符合C99标准推荐的分割

cmath.atanh(x)

返回x的反双曲正切。有两个分支切割:一个从1实轴延伸到下一个连续。另一个从-1实轴延伸到-∞从上面继续。

在版本2.6中改变了:右切割的连续性方向被逆转

cmath.cosh(x)

返回x的双曲余弦。

cmath.sinh(x)

返回x的双曲正弦。

cmath.tanh(x)

返回x的双曲正切。

5.分类功能

cmath.isinf(x)

返回True如果实际或x的虚部为正或负无穷大。

2.6版本中的新功能。

cmath.isnan(x)

返回True如果x的实部或虚部不是数字(NaN)。

2.6版本中的新功能。

6.常量

cmath.pi

数学常数π,作为一个浮点数。

cmath.e

数学常数e,作为一个浮点数。

请注意,功能的选择与模块中的功能类似,但不完全相同math。有两个模块的原因是一些用户对复数不感兴趣,甚至不知道它们是什么。他们宁愿math.sqrt(-1)举起一个例外,而不是返回一个复数。还要注意cmath,即使答案可以表示为实数(在这种情况下复数的虚数部分为零),定义的函数也会返回一个复数。

关于分支切割的注意事项:它们是给定函数无法连续的曲线。它们是许多复杂功能的必备功能。假设如果您需要使用复杂的函数进行计算,您将了解有关分支切割的信息。请教关于复杂变量的几乎任何(不太简单)的书籍。有关为数字目的正确选择分支切割的信息,请参考以下内容:

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com