scipy.special.ellipe#
- scipy.special.ellipe(m, out=None) = <ufunc 'ellipe'>#
第二类完全椭圆积分。
此函数定义为
\[E(m) = \int_0^{\pi/2} [1 - m \sin(t)^2]^{1/2} dt\]- 参数:
- marray_like
定义椭圆积分的参数。
- outndarray, optional
可选的输出数组,用于存储函数值
- 返回:
- E标量或 ndarray
椭圆积分的值。
另请参阅
附注
Cephes [1] 例程 ellpe 的包装器。
对于
m > 0,计算使用以下近似值:\[E(m) \approx P(1-m) - (1-m) \log(1-m) Q(1-m),\]其中 \(P\) 和 \(Q\) 是十阶多项式。对于
m < 0,使用以下关系:\[E(m) = E(m/(m - 1)) \sqrt(1-m)\]。
以 \(m\) 表示的参数化遵循 [2] 中 17.2 节的定义。其他以互补参数 \(1 - m\)、模角 \(\sin^2(\alpha) = m\) 或模数 \(k^2 = m\) 表示的参数化也经常被使用,因此请务必确保选择了正确的参数。
勒让德 E 积分以多种方式与 Carlson 的对称 R_D 或 R_G 函数相关联 [3]。例如:
\[E(m) = 2 R_G(0, 1-k^2, 1) .\]参考文献
[1]Cephes 数学函数库, http://www.netlib.org/cephes/
[2]Milton Abramowitz 和 Irene A. Stegun 编. 带有公式、图表和数学表格的数学函数手册。纽约:Dover,1972。
[3]NIST 数学函数数字图书馆。http://dlmf.nist.gov/,1.0.28 版,发布于 2020-09-15。参见 Sec. 19.25(i) https://dlmf.nist.gov/19.25#i
示例
此函数用于计算半长轴为 a、半短轴为 b 的椭圆周长。
>>> import numpy as np >>> from scipy import special
>>> a = 3.5 >>> b = 2.1 >>> e_sq = 1.0 - b**2/a**2 # eccentricity squared
椭圆周长通过以下公式得出:
>>> C = 4*a*special.ellipe(e_sq) # circumference formula >>> C 17.868899204378693
当 a 和 b 相同时(意味着离心率为 0),该公式简化为圆的周长。
>>> 4*a*special.ellipe(0.0) # formula for ellipse with a = b 21.991148575128552 >>> 2*np.pi*a # formula for circle of radius a 21.991148575128552