scipy.special.fresnel#
-
scipy.special.fresnel(z, выход=None) =
'fresnel'> # Интегралы Френеля.
Интегралы Френеля определяются как
\[\begin{split}S(z) &= \int_0^z \sin(\pi t^2 /2) dt \\ C(z) &= \int_0^z \cos(\pi t^2 /2) dt.\end{split}\]См. [dlmf] подробности.
- Параметры:
- zarray_like
Вещественный или комплексный аргумент
- выход2-кортеж ndarrays, опционально
Опциональные выходные массивы для результатов функции
- Возвращает:
- S, C2-кортеж скаляра или ndarray
Значения интегралов Френеля
Смотрите также
fresnel_zerosнули интегралов Френеля
Ссылки
[dlmf]NIST Digital Library of Mathematical Functions https://dlmf.nist.gov/7.2#iii
Примеры
>>> import numpy as np >>> import scipy.special as sc
По мере того как z стремится к бесконечности вдоль действительной оси, S и C сходятся к 0.5.
>>> S, C = sc.fresnel([0.1, 1, 10, 100, np.inf]) >>> S array([0.00052359, 0.43825915, 0.46816998, 0.4968169 , 0.5 ]) >>> C array([0.09999753, 0.7798934 , 0.49989869, 0.4999999 , 0.5 ])
Они связаны с функцией ошибки
erf.>>> z = np.array([1, 2, 3, 4]) >>> zeta = 0.5 * np.sqrt(np.pi) * (1 - 1j) * z >>> S, C = sc.fresnel(z) >>> C + 1j*S array([0.7798934 +0.43825915j, 0.48825341+0.34341568j, 0.60572079+0.496313j , 0.49842603+0.42051575j]) >>> 0.5 * (1 + 1j) * sc.erf(zeta) array([0.7798934 +0.43825915j, 0.48825341+0.34341568j, 0.60572079+0.496313j , 0.49842603+0.42051575j])