Python STL math&cmath

Python标准库math

math所提供的数学常量

pi 数学常量 pi,所属的变量空间为标准库math
e 数学常量 e,e即自然常数,所属的变量空间为标准库math

math库中常用的函数

三角函数

函数名 格式 功能
sin sin(x) 返回的x弧度的正弦值
cos cos(x) 返回的x弧度的余弦值
tan tan(x) 返回的x弧度的正切值
asin asin(x) 返回x反正弦弧度值
acos acos(x) 返回x反余弦弧度值
atan atan(x) 返回x反正切弧度值
atan2 atan2(x,y) 返回给定的 XY坐标值的反正切值。
degrees degrees(x) degrees() 将弧度x转换为角度。
radians radians(x) 返回一个角度弧度值

数值函数

函数名 格式 功能
exp exp( x ) 返回x的指数\(e^x\)。
pow pow(x,y) pow() 方法返回(x的y次方) 的值。
sqrt sqrt(x) sqrt() 方法返回数字x的平方根。
hypot hypot(x, y) hypot() 返回欧几里德范数 sqrt(x*x + y*y)
modf modf(x) modf()方法返回x的整数部分小数部分
fabs fabs(x) fabs()方法返回数字x的绝对值
log log(x) log() 方法返回x自然对数
log10 log10(x) log10()方法返回以10为基数的x对数。
copysign copysign(x,y) 返回模为|x|,符号为sign(y)的数值
factorial factorial(x) 计算x!
fmod fmod(x,y) x对y求模,实现是以C库为底,返回更为精确的浮点数
frexp frexp(x) 返回一个二元组,分别是x的指数部分尾数部分 (m, e)
x == m * 2**e
fsum fsum(x) 返回一个求和后得到的浮点数

其他的函数

  • math.isinf(x)

x 是不是正负无穷大.

  • math.isnan(x)

x是不是NaN(不是一个数字),

  • math.ldexp(x, i)

Return x * (2**i). 和frexp()相反.

  • math.trunc(x)

Return x的整数部分(truncated 截断)int(x)

  • math.expm1(x)

Return e**x - 1. x非常小的时候使用,会更精确。

  • math.log1p(x)

Return log(1+x)以e为底,x近似于0时更准确

(双曲线方法)Hyperbolic functions

  • math.acosh(x)

Return the inverse hyperbolic cosine of x.

  • math.asinh(x)

Return the inverse hyperbolic sine of x.

  • math.atanh(x)

Return the inverse hyperbolic tangent of x.

  • math.cosh(x)

Return the hyperbolic cosine of x.

  • math.sinh(x)

Return the hyperbolic sine of x.

  • math.tanh(x)

Return the hyperbolic tangent of x.

(特殊方法)Special functions

  • math.erf(x)
  • math.erfc(x)
  • math.gamma(x)
  • math.lgamma(x)

Python标准库cmath

标准库math缺乏对于复数的操作,这时候需要引入另外的一个Python内置的标准库cmath。

如下:

>>> import math
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error
>>> import cmath
>>> cmath.sqrt(-1)
1j  

可以看到math.sqrt传入的参数为负数时,因为操作范围在实数会报错;cmath.sqrt操作范围在复数所以传入参数为-1返回一个虚数。

cmath拥有与math相同绝大多数函数,只是操作范围在复数域内;以下仍有几个函数值得记忆:

  • cmath.phase(x) :

equal to math.atan2(x.imag, x.real).

  • cmath.polar(x) :

equal to (abs(x), phase(x)).

  • cmath.rect(r, phi):

equal to r * (math.cos(phi) + math.sin(phi)*1j).

Return (x.imag+x.real*j)

原文地址:https://www.cnblogs.com/oneTOinf/p/8463832.html

时间: 2024-11-05 12:11:28

Python STL math&cmath的相关文章

python 实现 math.log(x,base)

python 用闭包实现math.log(x,base) #!/usr/bin/python3 # -*- coding: utf-8 -*- import sys,math import random import pprint def log(n,d): i = 0 status = 0 while True: if d**i==n: status=1 break elif d**i<n<d**(i+1): break i+=1 def test(level=100): if status

Scipy - Python library - Math tool - Begin

Introduction Scientific Computing Tools for Python. Seen in Scipy.org. Environment Linux, CentOS 7 with KDE, python 2.7 Installation 1 python -m pip install --upgrade pip 2 # Do not use sudo for the next command 3 pip install --user numpy scipy matpl

【python】math模块的使用

1 import math 2 print math.sin (0.5) 3 print math.cos (0.5) 关键点: 1.sin.cos等数学符号后面要加括号(),括号内的参数为弧度制表示法(我也忘了什么是弧度制了...) 2.调用sin.cos的时候,要用math.sin(),math.cos(),而不是sin(),cos(). !!!

python之math模块

1.math简介 >>>import math #导入math模块 >>>dir(math) #这句可查看所有函数名列表 >>>help(math) #查看具体定义及函数原型 2.常用函数 acos(x) # Return the arc cosine (measured in radians) of x. asin(x) # Return the arc sine (measured in radians) of x. atan(x) # Retur

由python的math.log想到的问题

result = math.log(243,3) print(result) 输出5.0 print("%f"%result) 还是输出5.0 看出问题了吗?对,没错.int(5.0) = 4????? 不只是这个,还有取余 5.0 mod 1 为 1????? 经过和同学的激烈讨论. 得出了这么一个结论. 其实result = math.log(243,3) ,返回的result是4.9999(具体多少个9)不清楚,总之不是我们觉得应该的5. 所以可以解答上面的疑惑了. 1.int(

Python STL csv

作用:读写逗号分隔值文件. Python版本:2.3及以后版本 可以用csv模块处理从电子表格和数据库导出的数据,并写入采用字段和记录格式的文本 文件,这种格式通常称为逗号分隔值(comma-separated value, CSV)格式,因为常用逗号来 分隔记录中的字段. 读文件 可以使用reader创建一个对象从CSV文件读取数据.这个阅读器可以用作一个迭代器,按顺序处理文件中的行例如: import csv with open("testdata.csv", 'rt') as f

Python STL datetime

作用:datetime模块包含一些函数和类,用于完成日期和时间解析.格式化和算术运算. Python版本:2.3及以后版本 datetime包含一些用于处理日期和时间的函数和类,这些函数和类可以单独使用,也可以结合使用. 模块概览 datetime 主要有三个模块 time date datetime 时间 时间值用time类表示.time实例包含hour.minute.second和microsecond属性,还可以包含时区信息. In [7]: import datetime In [8]:

Python STL json

JSON 函数 使用 JSON 函数需要导入 json 库:import json. 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 json.dumps json.dumps 用于将 Python 对象编码成 JSON 字符串. 语法 json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, all

Python STL pickle

什么是持久性? 概念 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检索.这就是持久性.要达到这个目的,有几种方法,每一种方法都有其优缺点. 例如,可以将对象数据存储在某种格式的文本文件中,譬如 CSV 文件.或者可以用关系数据库,譬如 Gadfly.MySQL.PostgreSQL 或者 DB2.这些文件格式和数据库都非常优秀,对于所有这些存储