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,可选
函数值的可选输出数组
- 返回:
- 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 积分通过多种方式与卡尔森的对称 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 and Irene A. Stegun, eds. 数学函数手册,包括公式、图表和数学表格。纽约:多佛出版社,1972 年。
[3]NIST 数学函数数字图书馆。 http://dlmf.nist.gov/,2020-09-15 的 1.0.28 版本。参见第 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