kopia lustrzana https://github.com/Dsplib/libdspl-2.0
131 wiersze
5.4 KiB
Plaintext
131 wiersze
5.4 KiB
Plaintext
/*! ****************************************************************************
|
||
\ingroup SPEC_MATH_TRANSCEND
|
||
\fn int bessel_i0(double* x, int n, double* y)
|
||
\brief Модифицированная функция Бесселя первого рода \f$ I_0(x)\f$
|
||
|
||
Функция рассчитывает значения функции для вещественного вектора `x`,
|
||
который должен принимать неотрицательные значения.
|
||
\n
|
||
|
||
\param[in] x Указатель на вектор переменной \f$ x \f$. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
\param[in] n Размер входного вектора `x`. \n \n
|
||
|
||
\param[out] y Указатель на вектор значений функции \f$ I_0(x)\f$. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
\return
|
||
`RES_OK` Расчет произведен успешно. \n
|
||
В противном случае \ref ERROR_CODE_GROUP "код ошибки". \n
|
||
|
||
\note Для расчета используется аппроксимация приведенная в статье: \n
|
||
<a href="https://www.advanpix.com/2015/11/11/rational-approximations-for-the-modified-bessel-function-of-the-first-kind-i0-computations-double-precision/">
|
||
Rational Approximations for the Modified Bessel Function
|
||
of the First Kind – I0(x) for Computations with Double Precision
|
||
by PAVEL HOLOBORODKO on NOVEMBER 11, 2015
|
||
</a>
|
||
|
||
|
||
Пример использования функции `bessel_i0`:
|
||
|
||
\include bessel_i0.c
|
||
|
||
Данная программа рассчитывает значения функции \f$ I_0(x)\f$ переменной `x`
|
||
в интервале \f$[0 \ 3]\f$.
|
||
Рассчитанные данные сохраняются в текстовый файл `dat/dat0.txt`
|
||
и выводятся на график `img/bessel_i0.png`
|
||
|
||
\image html bessel_i0.png
|
||
|
||
|
||
\author
|
||
Бахурин Сергей
|
||
www.dsplib.org
|
||
***************************************************************************** */
|
||
|
||
|
||
|
||
/*! ****************************************************************************
|
||
\ingroup SPEC_MATH_COMMON_GROUP
|
||
\fn int sinc(double* x, int n, double a, double* y)
|
||
\brief Функция \f$ \textrm{sinc}(x,a) = \frac{\sin(ax)}{ax}\f$
|
||
|
||
Функция рассчитывает значения функции для вещественного вектора `x`.
|
||
\n
|
||
|
||
\param[in] x Указатель на вектор переменной \f$ x \f$. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
\param[in] n Размер входного вектора `x`. \n \n
|
||
|
||
\param[in] a Параметр функции
|
||
\f$ \textrm{sinc}(x,a) = \frac{\sin(ax)}{ax}\f$
|
||
|
||
\param[out] y Указатель на вектор значений функции. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
|
||
\return
|
||
`RES_OK` Расчет произведен успешно. \n
|
||
В противном случае \ref ERROR_CODE_GROUP "код ошибки". \n
|
||
|
||
\author
|
||
Бахурин Сергей
|
||
www.dsplib.org
|
||
***************************************************************************** */
|
||
|
||
|
||
|
||
/*! ****************************************************************************
|
||
\ingroup SPEC_MATH_TRANSCEND
|
||
\fn int sine_int(double* x, int n, double* si)
|
||
\brief Функция интегрального синуса
|
||
|
||
\f[ \textrm{Si}(x) = \int_{0}^{x} \frac{\sin(x)}{x} \, dx\f]
|
||
|
||
Функция рассчитывает значения функции для интегрального синуса
|
||
для произвольного вещественного вектора `x`.
|
||
\n
|
||
|
||
\param[in] x Указатель на вектор переменной \f$ x \f$. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
\param[in] n Размер входного вектора `x`. \n \n
|
||
|
||
|
||
\param[out] si Указатель на вектор значений функции интегрального синуса. \n
|
||
Размер вектора `[n x 1]`. \n
|
||
Память должна быть выделена. \n \n
|
||
|
||
\return
|
||
`RES_OK` Расчет произведен успешно. \n
|
||
В противном случае
|
||
\ref ERROR_CODE_GROUP "код ошибки". \n
|
||
|
||
Пример использования функции `sine_int`:
|
||
|
||
\include sine_int_test.c
|
||
|
||
Данная программа рассчитывает значения функции интегрального синуса и
|
||
функции \ref sinc для вектора переменной `x`
|
||
в интервале \f$[-6\pi \ 6\pi]\f$.
|
||
Рассчитанные данные сохраняются в текстовые файлы
|
||
`dat/dat0.txt` и `dat/dat1.txt`
|
||
|
||
и выводятся на график `img/sine_int.png`
|
||
|
||
\image html sine_int.png
|
||
|
||
\author
|
||
Бахурин Сергей
|
||
www.dsplib.org
|
||
***************************************************************************** */
|
||
|
||
|