scipy.special.itairy#
- scipy.special.itairy(x, out=None) = <ufunc 'itairy'>#
艾里函数积分
计算艾里函数从 0 到 x 的积分。
- 参数:
- x类似数组
积分的上限 (浮点数)。
- outndarray 元组,可选
函数值的可选输出数组
- 返回值:
- Apt标量或 ndarray
从 0 到 x 的 Ai(t) 积分。
- Bpt标量或 ndarray
从 0 到 x 的 Bi(t) 积分。
- Ant标量或 ndarray
从 0 到 x 的 Ai(-t) 积分。
- Bnt标量或 ndarray
从 0 到 x 的 Bi(-t) 积分。
注释
Shanjie Zhang 和 Jianming Jin [1] 创建的 Fortran 例程的封装。
参考
[1]Zhang, Shanjie 和 Jin, Jianming.“特殊函数计算”,John Wiley and Sons,1996。https://people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html
示例
以
x=1.
计算函数。>>> import numpy as np >>> from scipy.special import itairy >>> import matplotlib.pyplot as plt >>> apt, bpt, ant, bnt = itairy(1.) >>> apt, bpt, ant, bnt (0.23631734191710949, 0.8727691167380077, 0.46567398346706845, 0.3730050096342943)
通过为 x 提供 NumPy 数组,计算多个点处的函数。
>>> x = np.array([1., 1.5, 2.5, 5]) >>> apt, bpt, ant, bnt = itairy(x) >>> apt, bpt, ant, bnt (array([0.23631734, 0.28678675, 0.324638 , 0.33328759]), array([ 0.87276912, 1.62470809, 5.20906691, 321.47831857]), array([0.46567398, 0.72232876, 0.93187776, 0.7178822 ]), array([ 0.37300501, 0.35038814, -0.02812939, 0.15873094]))
绘制 -10 到 10 之间函数。
>>> x = np.linspace(-10, 10, 500) >>> apt, bpt, ant, bnt = itairy(x) >>> fig, ax = plt.subplots(figsize=(6, 5)) >>> ax.plot(x, apt, label=r"$\int_0^x\, Ai(t)\, dt$") >>> ax.plot(x, bpt, ls="dashed", label=r"$\int_0^x\, Bi(t)\, dt$") >>> ax.plot(x, ant, ls="dashdot", label=r"$\int_0^x\, Ai(-t)\, dt$") >>> ax.plot(x, bnt, ls="dotted", label=r"$\int_0^x\, Bi(-t)\, dt$") >>> ax.set_ylim(-2, 1.5) >>> ax.legend(loc="lower right") >>> plt.show()