Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

当我们在日常生活中编写程序时,我们通常遇到需要使用数学来完成任务的情况。像其他编程语言一样,Python提供了各种基本运算操作,如*代表乘法,%代表求模运算,//代表整除。

如果您正在编写一个程序来执行特定任务,如研究周期运动或模拟电路,您将需要使用三角函数以及复数。虽然您不能直接使用这些功能,但您可以先导入两个数学模块来访问它们。这两个模块是math和cmath。

第一个模块允许您访问实数的双曲线,三角函数和对数函数,而后者允许您使用复数。在本教程中,我将讨论这些模块提供的所有重要功能。除非明确提到,返回的所有值都是浮点数。

算术函数

这些函数执行各种算术运算,如向下取整,向上取整,取绝对值,分别对应floor(x),ceil(x)以及fabs(x)。ceil(x)函数将返回大于或等于x的最小整数。同样地,floor(x)返回小于或等于x的最大的整数。fabs(x)返回的x的绝对值。

还可以执行非平凡的操作,如使用factorial(x)计算一个数的阶乘。一个正整数的阶乘是所有小于及等于该数的正整数的乘积。它在处理组合和排列时被广泛使用。它也可以用于计算正弦和余弦函数的值。

math模块中另一个有用的函数是**(x,y),求两个数x和y的最大公约数(**)。当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)计算给定值的角度,而不是计算某个角度的三角函数的值。

你熟悉勾股定理吗?它指出,斜边长度的平方(与直角相对的一侧)等于其他两边的平方和。斜边也是直角三角形的最大边。math模块提供hypot(a, b)函数计算斜边长度。

双曲函数

双曲线函数是基于双曲线而不是圆的三角函数的类似物。在三角函数中,点(cos b,sin b)代表单位圆的点。在双曲函数的情况下,点(cos b,sin b)表示形成等边双曲线的右半部分。

像三角函数一样,就可以直接计算出sinh(x),cosh(x)和tanh(x)的值。其余值可以使用这三个值之间的各种关系来计算。也有其他的函数,如asinh(x),acosh(x)和atanh(x),其可被用于计算相应的双曲值的倒数。

幂函数和对数函数

你可能会比双曲或三角函数更频繁地处理幂和对数。幸运的是,math模块提供了很多函数来帮助我们计算对数。

您可以使用log(x,[base])计算给定基数的值x的对数。如果省略可选基数参数,则x的对数计算以e为基数。在这里,e是一个数学常数,其值是2.71828182 ....它可以使用math.e访问。顺便说一句,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加。因此,log1p(x)计算的是log(1 x),其中x接近于零。用log1p(x)结果更准确。

还可以使用pow(x, y)计算一个数字x的y次幂。在计算之前,此函数将两个参数转换为float类型。如果你想最终的结果以精确整数幂来计算,你应该使用内置的pow()功能或**操作符。

还可以使用sqrt(x)计算任何给定数x的平方根,但同样的事情,也可以通过使用pow(x, 0.5)来完成。

复数

复数使用矩形或笛卡尔坐标存储在内部。复数z笛卡尔坐标表示为z = x iy,其中点x表示实部和y表示虚部。另一种表示方法是使用极坐标。

在这种情况下,复数z将被定义为模数r和相位角phi的组合。模数r是复数z和原点之间的距离。角度phi是从正x轴到连接z和原点的线段以弧度测量的逆时针角度。

虽然cmath模块处理复数可以有很大的帮助。复数的模数可以使用内置函数abs()来计算,并且可以使用cmath模块中提供的函数phase(z)计算出其相位。可以使用polar(z)将复数从矩形形式转换为极坐标形式,这将返回一个元组(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)函数来解决排列组合问题。您可以使用三角函数将矢量分解为笛卡尔坐标。您还可以使用三角函数来模拟周期函数,如声音和光波。

类似地,可以使用双曲函数来确定悬挂在两极之间的绳索的曲线。由于所有这些功能都是直接用数学模块,它可以很容易地创建执行所有这些任务的小程序。

我希望你喜欢这个教程。如果你有任何问题,可以在评论里让我知道。

英文原文:https://code.tutsplus.com/tutorials/mathematical-modules-in-python-math-and-cmath--cms-26913

译者:flqzdzxx

本文转载于微信公众号: Python程序员(pythonbuluo),更多微信文章请扫描关注公众号:

Tag标签:

python用math运行三角函数_Python中的数学模块:Math和Cmath 算术函数 三角函数 双曲函数 幂函数和对数函数 复数......相关推荐

  1. pythonmathcot函数_math库是python语言的数学模块吗_Python中的数学模块:Math和Cmath

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 当我们在日常生活中编写程序时,我们通常遇到需要使用数学来完成任务的情况.像其他编程语言一样,Python提 ...

  2. python数学库函数包括求最大公约数函数吗_pythonmathcot函数_math库是python语言的数学模块吗_Python中的数学模块:...

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 当我们在日常生活中编写程序时,我们通常遇到需要使用数学来完成任务的情况.像其他编程语言一样,Python提 ...

  3. python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法

    如下所示: import h5py import numpy as np #HDF5的写入: imgData = np.zeros((2,4)) f = h5py.File('HDF5_FILE.h5 ...

  4. python显示程序运行进度_Python中如何显示程序进度

    一个好的脚本或者程序要能够直观的显示出当前的进度,就像你在Windows上拷贝一个文件,会显示已经完成了多少,还剩下多少,而不是呆呆的看着屏幕等待.下面就介绍几种常用的为脚本添加进度条的方法. 1.最 ...

  5. [转载] python中三角函数_Python中的三角函数

    参考链接: Python | type()函数 python中三角函数 Python三角函数/方法 (Python Trigonometric functions/methods) In python ...

  6. 捋一捋Python中的数学运算math库(上篇)

    正式的Python专栏第18篇,同学站住,别错过这个从0开始的文章! 很多学习编程的都多多少少学习了一些数学知识. 学委之前也简单吐槽了 Python中奇葩的round函数! 这篇我们讲讲那些常用的数 ...

  7. math库是python语言的数学模块_Python 数学模块(Math)

    Python 数学模块(Math) 了解Python中可用的所有数学函数以及如何在程序中使用它们. Python中的数学模块是什么? math 模块是Python中的标准模块,并且始终可用.要在此模块 ...

  8. python运行命令_Python中执行外部命令

    有很多需求需要在Python中执行shell命令.启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库. subprocess模块的使用: Python使用最广泛的是标准库的 ...

  9. python怎么识别log函数_python中对数函数怎么表示

    首先导入math模块,语法是math.log(x[, base]),通过log(x[, base])来设置底数,如 log(x, 10) 表示以10为底的对数.x是数值表达式.base可选,是底数,默 ...

  10. python中模块和函数_Python中函数和模块的体验与使用

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

最新文章

  1. 工程师必看-PCB设计标准工艺要求(五)
  2. hosts文件 请检查文件是否在别的程序中打开
  3. Jordan Elman Neural Networks
  4. 构造函数与new关键字
  5. [短评]什么是大教堂与集市(和谐)
  6. 怎么判断浮点数的有效位数_JavaScript的数据类型及判断
  7. 树莓派搭建DLNA客户端,使用gmediarender,DLAN render。
  8. 队列:实用服务和数据结构
  9. 阿里云Blink快速入门
  10. 三种嵌入式操作系统(Palm OS 、Windows CE 和Linux)的深入分析与比较
  11. springboot+基于Web的开关柜综合监测信息查询系统的设计与实现 毕业设计-附源码191550
  12. 西湖论剑2021中国杭州网络安全技能大赛部分Writeup
  13. 假设有一张纸可对折无限次,它的厚度为0.1毫米,珠穆朗玛峰的高度为8848.86米,求这张纸对折多少次后它的厚度会超过珠峰的高度。
  14. 编程菜鸟到大鸟--代码积累
  15. 算法复习——分治法重点问题
  16. java 同或_java语言中同或运算的实现
  17. 新唐芯片学习笔记——概要
  18. Jexus V5.0 正式发布
  19. Opus一款开源、免费、自由度高的有损音频编解码器
  20. cifar10数据集下载及图片格式解析

热门文章

  1. 合理的电梯(水题 杭电排位赛-6)
  2. swiper(轮播图)基本使用
  3. ios 获取相机胶卷_电影胶片相机的工作原理
  4. 计算机机械硬盘寿命,有问有答:电脑的机械硬盘和固态硬盘哪个寿命更长?
  5. Treeview 无限分类非递归终极解决方案VB
  6. outlook qr码在哪里_使用python自动发邮件-163、QQ、outlook邮箱
  7. [转]三大运营商借云转型 虚拟资源池与并发计算是核心能力
  8. 计算机 键盘启动,键盘开机如何打开键盘
  9. 【论文解读】MacBERT: 中文自然语言预训练模型
  10. 推荐的前端开源项目CDN加速服务