Что такое функция Струве?
Функция Струве \(\mathbf{H}_{v}(x)\) — это специальная функция, которая возникает как частное решение неоднородного уравнения Бесселя. Она встречается в задачах акустики, гидродинамики, оптики и электромагнетизма, часто рядом с обычными функциями Бесселя. Этот калькулятор строит таблицу значений \(\mathbf{H}_{v}(x)\) для любого вещественного порядка \(v\) на выбранной последовательности значений \(x\), позволяя увидеть её колебательное и медленно затухающее поведение. Это чистая математика: функция универсальна и не зависит ни от региона, ни от единиц измерения.
Как пользоваться калькулятором
Введите четыре параметра: Порядок v (порядок функции Струве), Начальное значение x (первый аргумент), Шаг (расстояние между соседними значениями x) и Число повторений (сколько строк сформировать). В таблице будет приведён каждый аргумент \(x_{i} = \text{startX} + i \times \text{stepX}\) и соответствующее ему значение \(\mathbf{H}_{v}(x_{i})\). При значениях по умолчанию (\(v = 0\), начало \(= -10\), шаг \(= 0{,}2\), количество \(= 101\)) вы получите 101 точку с пробегом \(x\) от \(-10\) до \(+10\).
Разбор формулы
Значение вычисляется напрямую по степенному ряду, показанному выше:
$$\mathbf{H}_{v}(x) = \left(\frac{x}{2}\right)^{v+1} \sum_{k=0}^{\infty} \frac{(-1)^{k}\left(\frac{x}{2}\right)^{2k}}{\Gamma\!\left(k+\frac{3}{2}\right)\,\Gamma\!\left(k+v+\frac{3}{2}\right)}$$Если обозначить \(t = x/2\), то множитель перед суммой равен \(t^{v+1}\), а каждый член имеет вид \((-1)^{k} t^{2k}\), делённый на произведение двух гамма-функций — \(\Gamma(k + 3/2)\) и \(\Gamma(k + v + 3/2)\). Гамма-функция рассчитывается с помощью численно устойчивого приближения Ланцоша, а при неположительном аргументе применяется формула отражения \(\Gamma(z) = \pi / (\sin(\pi z)\, \Gamma(1 - z))\). Знакочередующийся ряд быстро сходится при умеренных \(|x|\).
Разобранный пример
Возьмём \(v = 0\) и \(x = 2\), тогда \(t = 1\), а множитель перед суммой равен 1. Суммируя ряд, получаем
$$1{,}273240 - 0{,}565884 + 0{,}090542 - 0{,}007391 + 0{,}000365 - \ldots \approx 0{,}79066$$Таким образом, \(\mathbf{H}_{0}(2) \approx 0{,}79066\), что совпадает со справочным значением.
Частые вопросы
Чему равно \(\mathbf{H}_{v}(0)\)? Для любого порядка \(v > -1\) множитель \((x/2)^{v+1}\) обращается в ноль при \(x = 0\), поэтому \(\mathbf{H}_{v}(0) = 0\).
Можно ли задавать отрицательные или нецелые порядки? Да. При отрицательных \(x\) и нецелом \(v\) функция становится комплексной, поэтому такие строки выводятся как «не число» (NaN); при \(v = 0\) или целых порядках вся таблица остаётся вещественной.
Насколько точны вычисления? Прямой ряд даёт высокую точность в диапазоне по умолчанию. Для очень больших \(|x|\) (примерно свыше 30) требуется много членов ряда, и здесь предпочтительнее асимптотическое разложение.