SciPy


SciPy 是一个基于 Python 的开源科学计算库,建立在 NumPy 之上,提供了许多用于数学、科学和工程计算的函数。

1. SciPy 模块列表

以下列出了 SciPy 常用的一些模块及官网 API 地址:

模块名 功能 参考文档
scipy.cluster 向量量化 cluster API
scipy.constants 数学常量 constants API
scipy.fft 快速傅里叶变换 fft API
scipy.integrate 积分 integrate API
scipy.interpolate 插值 interpolate API
scipy.io 数据输入输出 io API
scipy.linalg 线性代数 linalg API
scipy.misc 图像处理 misc API
scipy.ndimage N 维图像 ndimage API
scipy.odr 正交距离回归 odr API
scipy.optimize 优化算法 optimize API
scipy.signal 信号处理 signal API
scipy.sparse 稀疏矩阵 sparse API
scipy.spatial 空间数据结构和算法 spatial API
scipy.special 特殊数学函数 special API
scipy.stats 统计函数 stats.mstats API

2. 常量模块

SciPy 常量模块 constants 提供了许多内置的数学常数。

导入常量模块:

from scipy import constants

1. 常用常量分类及示例

1. 数学常量

  • pi:圆周率 π,其值近似为 3.141592653589793。

```python from scipy import constants

print(constants.pi) ```

  • golden:黄金比例 φ,约为 1.618033988749895。

```python from scipy import constants

print(constants.golden) ```

2. 物理常量

  • 基本物理常量
  • c:真空中的光速,值为 299792458 米 / 秒。
  • h:普朗克常数,约为 6.62607015e - 34 焦耳・秒。
  • G:万有引力常数,大约是 6.67430e - 11 米 ³・千克⁻¹・秒⁻²。
  • e:基本电荷,约为 1.602176634e - 19 库仑。
  • m_e:电子质量,约为 9.1093837015e - 31 千克。
  • m_p:质子质量,约为 1.67262192369e - 27 千克。
  • m_n:中子质量,约为 1.67492749804e - 27 千克。
  • 热力学常量
  • k:玻尔兹曼常数,约为 1.380649e - 23 焦耳 / 开尔文。
  • N_A:阿伏伽德罗常数,约为 6.02214076e23 每摩尔。
  • R:普适气体常数,约为 8.314462618 焦耳 /(摩尔・开尔文)。

3. 单位转换常量

  • 长度单位
  • inch:英寸与米的转换因子,1 英寸等于 0.0254 米。
  • foot:英尺与米的转换因子,1 英尺等于 0.3048 米。
  • mile:英里与米的转换因子,1 英里等于 1609.344 米。
  • angstrom:埃与米的转换因子,1 埃等于 1e - 10 米。
  • 质量单位
  • gram:克与千克的转换因子,1 克等于 0.001 千克。
  • pound:磅与千克的转换因子,1 磅约等于 0.45359237 千克。
  • ounce:盎司与千克的转换因子,1 盎司约等于 0.028349523125 千克。
  • 时间单位
  • minute:分钟与秒的转换因子,1 分钟等于 60 秒。
  • hour:小时与秒的转换因子,1 小时等于 3600 秒。
  • day:天与秒的转换因子,1 天等于 86400 秒。
  • year:年与秒的转换因子,1 年(按 365 天算)等于 31536000 秒。
  • 能量单位
  • eV:电子伏特与焦耳的转换因子,1 电子伏特约等于 1.602176634e - 19 焦耳。
  • calorie:卡路里与焦耳的转换因子,1 卡路里(国际蒸汽表卡)约等于 4.1868 焦耳。

2. 查找常量和单位信息

你可以通过 find() 函数来查找包含特定关键词的常量和单位信息。例如:

from scipy import constants

# 查找包含 "light" 的常量和单位信息
print(constants.find("light"))

3. 获取常量的详细信息

可以使用 physical_constants 字典来获取某个常量的详细信息,该字典返回的元组包含值、单位和不确定度。例如:

from scipy import constants

# 获取真空中光速的详细信息
speed_of_light_info = constants.physical_constants["speed of light in vacuum"]
print(f"值: {speed_of_light_info[0]}")
print(f"单位: {speed_of_light_info[1]}")
print(f"不确定度: {speed_of_light_info[2]}")

4. 单位类型

常量模块包含以下几种单位:

1. 国际单位制词头

国际单位制词头(英语:SI prefix)表示单位的倍数和分数,目前有 20 个词头,大多数是千的整数次幂。 (centi 返回 0.01):

yotta 10^24
zetta 10^21
exa 10^18
peta 10^15
tera 10^12
giga 10^9
mega 10^6
kilo 10^3
hecto 10^2
deka 10^1
deci 10^−1
centi 10^−2
milli 10^−3
micro 10^−6
nano 10^−9
pico 10^−12
femto 10^−15
atto 10^−18
zepto 10^−21
from scipy import constants

print(constants.yotta)    #1e+24
print(constants.zetta)    #1e+21
print(constants.exa)      #1e+18
print(constants.peta)     #1000000000000000.0
print(constants.tera)     #1000000000000.0
print(constants.giga)     #1000000000.0
print(constants.mega)     #1000000.0
print(constants.kilo)     #1000.0
print(constants.hecto)    #100.0
print(constants.deka)     #10.0
print(constants.deci)     #0.1
print(constants.centi)    #0.01
print(constants.milli)    #0.001
print(constants.micro)    #1e-06
print(constants.nano)     #1e-09
print(constants.pico)     #1e-12
print(constants.femto)    #1e-15
print(constants.atto)     #1e-18
print(constants.zepto)    #1e-21

2. 二进制前缀

返回字节单位 (kibi 返回 1024)。

kibi 210
mebi 220
gibi 230
tebi 240
pebi 250
exbi 260
zebi 270
yobi 280
from scipy import constants

print(constants.kibi)    #1024
print(constants.mebi)    #1048576
print(constants.gibi)    #1073741824
print(constants.tebi)    #1099511627776
print(constants.pebi)    #1125899906842624
print(constants.exbi)    #1152921504606846976
print(constants.zebi)    #1180591620717411303424
print(constants.yobi)    #1208925819614629174706176

3. 质量单位

返回多少千克 kg。(gram 返回 0.001)。

from scipy import constants

print(constants.gram)        #0.001
print(constants.metric_ton)  #1000.0
print(constants.grain)       #6.479891e-05
print(constants.lb)          #0.45359236999999997
print(constants.pound)       #0.45359236999999997
print(constants.oz)          #0.028349523124999998
print(constants.ounce)       #0.028349523124999998
print(constants.stone)       #6.3502931799999995
print(constants.long_ton)    #1016.0469088
print(constants.short_ton)   #907.1847399999999
print(constants.troy_ounce)  #0.031103476799999998
print(constants.troy_pound)  #0.37324172159999996
print(constants.carat)       #0.0002
print(constants.atomic_mass) #1.66053904e-27
print(constants.m_u)         #1.66053904e-27
print(constants.u)           #1.66053904e-27

4. 角度单位

返回弧度 (degree 返回 0.017453292519943295)。

from scipy import constants

print(constants.degree)   #0.017453292519943295
print(constants.arcmin)   #0.0002908882086657216
print(constants.arcminute) #0.0002908882086657216
print(constants.arcsec)   #4.84813681109536e-06
print(constants.arcsecond) #4.84813681109536e-06

5. 时间单位

返回秒数(hour 返回 3600.0)。

from scipy import constants

print(constants.minute)    #60.0
print(constants.hour)     #3600.0
print(constants.day)     #86400.0
print(constants.week)     #604800.0
print(constants.year)     #31536000.0
print(constants.Julian_year) #31557600.0

6. 长度单位

返回米数(nautical_mile 返回 1852.0)。

from scipy import constants

print(constants.inch)        #0.0254
print(constants.foot)        #0.30479999999999996
print(constants.yard)        #0.9143999999999999
print(constants.mile)        #1609.3439999999998
print(constants.mil)        #2.5399999999999997e-05
print(constants.pt)         #0.00035277777777777776
print(constants.point)       #0.00035277777777777776
print(constants.survey_foot)    #0.3048006096012192
print(constants.survey_mile)    #1609.3472186944373
print(constants.nautical_mile)   #1852.0
print(constants.fermi)       #1e-15
print(constants.angstrom)      #1e-10
print(constants.micron)       #1e-06
print(constants.au)         #149597870691.0
print(constants.astronomical_unit) #149597870691.0
print(constants.light_year)     #9460730472580800.0
print(constants.parsec)       #3.0856775813057292e+16

7. 压强单位

返回多少帕斯卡,压力的 SI 制单位。(psi 返回 6894.757293168361)。

from scipy import constants

print(constants.atm)     #101325.0
print(constants.atmosphere) #101325.0
print(constants.bar)     #100000.0
print(constants.torr)     #133.32236842105263
print(constants.mmHg)     #133.32236842105263
print(constants.psi)     #6894.757293168361

8. 面积单位

返回多少平方米,平方米是面积的公制单位,其定义是:在一平面上,边长为一米的正方形之面积。(hectare 返回 10000.0)。

from scipy import constants

print(constants.hectare) #10000.0
print(constants.acre)   #4046.8564223999992

9. 体积单位

返回多少立方米,立方米容量计量单位,1 立方米的容量相当于一个长、宽、高都等于 1 米的立方体的体积,与 1 公秉和 1 度水的容积相等,也与1000000立方厘米的体积相等。(liter 返回 0.001)。

from scipy import constants

print(constants.liter)       #0.001
print(constants.litre)       #0.001
print(constants.gallon)      #0.0037854117839999997
print(constants.gallon_US)     #0.0037854117839999997
print(constants.gallon_imp)    #0.00454609
print(constants.fluid_ounce)    #2.9573529562499998e-05
print(constants.fluid_ounce_US)  #2.9573529562499998e-05
print(constants.fluid_ounce_imp) #2.84130625e-05
print(constants.barrel)      #0.15898729492799998
print(constants.bbl)        #0.15898729492799998

10. 速度单位

返回每秒多少米。(speed_of_sound 返回 340.5)。

from scipy import constants

print(constants.kmh)       #0.2777777777777778
print(constants.mph)       #0.44703999999999994
print(constants.mach)      #340.5
print(constants.speed_of_sound) #340.5
print(constants.knot)      #0.5144444444444445

11. 温度单位

返回多少开尔文。(zero_Celsius 返回 273.15)。

from scipy import constants

print(constants.zero_Celsius)    #273.15
print(constants.degree_Fahrenheit) #0.5555555555555556

12. 能量单位

返回多少焦耳,焦耳(简称焦)是国际单位制中能量、功或热量的导出单位,符号为J。(calorie 返回 4.184)。

from scipy import constants

print(constants.zero_Celsius)    #273.15
print(constants.degree_Fahrenheit) #0.5555555555555556

13. 功率单位

返回多少瓦特,瓦特(符号:W)是国际单位制的功率单位。1瓦特的定义是1焦耳/秒(1 J/s),即每秒钟转换,使用或耗散的(以安培为量度的)能量的速率。(horsepower 返回 745.6998715822701)。

from scipy import constants

print(constants.hp)     #745.6998715822701
print(constants.horsepower) #745.6998715822701

14. 力学单位

返回多少牛顿,牛顿(符号为N,英语:Newton)是一种物理量纲,是力的公制单位。它是以建立经典力学(经典力学)的艾萨克·牛顿命名。。(kilogram_force 返回 9.80665)。

from scipy import constants

print(constants.dyn)       #1e-05
print(constants.dyne)       #1e-05
print(constants.lbf)       #4.4482216152605
print(constants.pound_force)   #4.4482216152605
print(constants.kgf)       #9.80665
print(constants.kilogram_force) #9.80665

0 条评论

发表评论

暂无评论,欢迎发表您的观点!