scipy.special.kve#
-
scipy.special.kve(v, z, выход=None) =
'kve'> # Экспоненциально масштабированная модифицированная функция Бесселя второго рода.
Возвращает экспоненциально масштабированную модифицированную функцию Бесселя второго рода (иногда называемую третьего рода) для вещественного порядка v при комплексных z:
kve(v, z) = kv(v, z) * exp(z)
- Параметры:
- varray_like из float
Порядок функций Бесселя
- zarray_like комплексных чисел
Аргумент, в котором вычисляются функции Бесселя
- выходndarray, необязательно
Необязательный выходной массив для результатов функции
- Возвращает:
- скаляр или ndarray
Экспоненциально масштабированная модифицированная функция Бесселя второго рода.
Смотрите также
Примечания
Оболочка для AMOS [1] рутина zbesk. Для обсуждения используемого алгоритма см. [2] и ссылки в нём.
Ссылки
[1]Дональд Э. Амос, «AMOS, переносимый пакет для функций Бесселя комплексного аргумента и неотрицательного порядка», http://netlib.org/amos/
[2]Дональд Э. Амос, "Алгоритм 644: Переносимый пакет для функций Бесселя комплексного аргумента и неотрицательного порядка", ACM TOMS Том. 12 Выпуск 3, сентябрь 1986, стр. 265
Примеры
В следующем примере
kvвозвращает 0, тогда какkveвсе еще возвращает полезное конечное число.>>> import numpy as np >>> from scipy.special import kv, kve >>> import matplotlib.pyplot as plt >>> kv(3, 1000.), kve(3, 1000.) (0.0, 0.03980696128440973)
Вычислите функцию в одной точке для разных порядков, предоставив список или массив NumPy в качестве аргумента для v параметр:
>>> kve([0, 1, 1.5], 1.) array([1.14446308, 1.63615349, 2.50662827])
Оцените функцию в нескольких точках для порядка 0, предоставив массив для z.
>>> points = np.array([1., 3., 10.]) >>> kve(0, points) array([1.14446308, 0.6977616 , 0.39163193])
Вычислить функцию в нескольких точках для разных порядков, предоставляя массивы для обоих v для z. Оба массива должны быть совместимы для трансляции в правильную форму. Для вычисления порядков 0, 1 и 2 для одномерного массива точек:
>>> kve([[0], [1], [2]], points) array([[1.14446308, 0.6977616 , 0.39163193], [1.63615349, 0.80656348, 0.41076657], [4.41677005, 1.23547058, 0.47378525]])
Построить графики функций порядка от 0 до 3 на интервале от 0 до 5.
>>> fig, ax = plt.subplots() >>> x = np.linspace(0., 5., 1000) >>> for i in range(4): ... ax.plot(x, kve(i, x), label=fr'$K_{i!r}(z)\cdot e^z$') >>> ax.legend() >>> ax.set_xlabel(r"$z$") >>> ax.set_ylim(0, 4) >>> ax.set_xlim(0, 5) >>> plt.show()