![]() |
libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов
|
Функции | |
int | ellip_acd (double *w, int n, double k, double *u) |
Обратная эллиптическая функция Якоби \( u = \textrm{cd}^{-1}(w, k)\) вещественного аргумента Подробнее... | |
int | ellip_acd_cmplx (complex_t *w, int n, double k, complex_t *u) |
Обратная эллиптическая функция Якоби \( u = \textrm{cd}^{-1}(w, k)\) комплексного аргумента Подробнее... | |
int | ellip_asn (double *w, int n, double k, double *u) |
Обратная эллиптическая функция Якоби \( u = \textrm{sn}^{-1}(w, k)\) вещественного аргумента Подробнее... | |
int | ellip_asn_cmplx (complex_t *w, int n, double k, complex_t *u) |
Обратная эллиптическая функция Якоби \( u = \textrm{sn}^{-1}(w, k)\) комплексного аргумента Подробнее... | |
int | ellip_cd (double *u, int n, double k, double *y) |
Эллиптическая функция Якоби \( y = \textrm{cd}(u K(k), k)\) вещественного аргумента Подробнее... | |
int | ellip_cd_cmplx (complex_t *u, int n, double k, complex_t *y) |
Эллиптическая функция Якоби \( y = \textrm{cd}(u K(k), k)\) комплексного аргумента Подробнее... | |
int | ellip_landen (double k, int n, double *y) |
Расчет коэффициентов \( k_i \) ряда полного эллиптического интеграла. Подробнее... | |
int | ellip_sn (double *u, int n, double k, double *y) |
Эллиптическая функция Якоби \( y = \textrm{sn}(u K(k), k)\) вещественного аргумента Подробнее... | |
int | ellip_sn_cmplx (complex_t *u, int n, double k, complex_t *y) |
Эллиптическая функция Якоби \( y = \textrm{sn}(u K(k), k)\) комплексного аргумента Подробнее... | |
Подробное описание
Эллиптические функции Якоби вещественного и комплексного аргумента
Функции
◆ ellip_acd()
int ellip_acd | ( | double * | w, |
int | n, | ||
double | k, | ||
double * | u | ||
) |
Обратная эллиптическая функция Якоби \( u = \textrm{cd}^{-1}(w, k)\) вещественного аргумента
Функция рассчитывает значения обратной эллиптической функции \( u = \textrm{cd}^{-1}(w, k)\) для вещественного вектора w
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] w Указатель на массив вектора переменной \( w \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора w
.
[in] k Значение эллиптического модуля \( k \). Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] u Указатель на вектор значений обратной эллиптической функции \( u = \textrm{cd}^{-1}(w, k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_acd.c строка 102
◆ ellip_acd_cmplx()
Обратная эллиптическая функция Якоби \( u = \textrm{cd}^{-1}(w, k)\) комплексного аргумента
Функция рассчитывает значения значения обратной эллиптической функции \( u = \textrm{cd}^{-1}(w, k)\) для комплексного вектора w
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] w Указатель на массив вектора переменной \( w \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора w
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] u Указатель на вектор значений обратной эллиптической функции \( u = \textrm{cd}^{-1}(w, k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_acd_cmplx.c строка 104
◆ ellip_asn()
int ellip_asn | ( | double * | w, |
int | n, | ||
double | k, | ||
double * | u | ||
) |
Обратная эллиптическая функция Якоби \( u = \textrm{sn}^{-1}(w, k)\) вещественного аргумента
Функция рассчитывает значения значения обратной эллиптической функции \( u = \textrm{sn}^{-1}(w, k)\) для вещественного вектора w
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] w Указатель на массив вектора переменной \( w \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора w
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] u Указатель на вектор значений обратной эллиптической функции \( u = \textrm{sn}^{-1}(w, k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_asn.c строка 106
◆ ellip_asn_cmplx()
Обратная эллиптическая функция Якоби \( u = \textrm{sn}^{-1}(w, k)\) комплексного аргумента
Функция рассчитывает значения значения обратной эллиптической функции \( u = \textrm{sn}^{-1}(w, k)\) для комплексного вектора w
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] w Указатель на массив вектора переменной \( w \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора w
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] u Указатель на вектор значений обратной эллиптической функции \( u = \textrm{sn}^{-1}(w, k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_asn_cmplx.c строка 105
Используется в ellip_ap_zp().
◆ ellip_cd()
int ellip_cd | ( | double * | u, |
int | n, | ||
double | k, | ||
double * | y | ||
) |
Эллиптическая функция Якоби \( y = \textrm{cd}(u K(k), k)\) вещественного аргумента
Функция рассчитывает значения значения эллиптической функции \( y = \textrm{cd}(u K(k), k)\) для вещественного вектора u
и эллиптического модуля k
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] u Указатель на массив вектора переменной \( u \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора u
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] y Указатель на вектор значений эллиптической функции \( y = \textrm{cd}(u K(k), k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
Пример представлен в следующем листинге:
Программа рассчитывает два периода эллиптической функции \( y = \textrm{cd}(u K(k), k)\) для k = 0
, k= 0.9
и k = 0.99
, а также выводит графики данных функций

См. определение в файле ellip_cd.c строка 125
Используется в ellip_ap_zp().
◆ ellip_cd_cmplx()
Эллиптическая функция Якоби \( y = \textrm{cd}(u K(k), k)\) комплексного аргумента
Функция рассчитывает значения значения эллиптической функции \( y = \textrm{cd}(u K(k), k)\) для комплексного вектора u
и эллиптического модуля k
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] u Указатель на массив вектора переменной \( u \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора u
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] y Указатель на вектор значений эллиптической функции \( y = \textrm{cd}(u K(k), k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_cd_cmplx.c строка 105
Используется в ellip_ap_zp().
◆ ellip_landen()
int ellip_landen | ( | double | k, |
int | n, | ||
double * | y | ||
) |
Расчет коэффициентов \( k_i \) ряда полного эллиптического интеграла.
Полный эллиптический интеграл \( K(k) \) может быть представлен рядом:
\[ K(k) = \frac{\pi}{2} \prod_{i = 1}^{\infty}(1+k_i), \]
где \( k_i \) вычисляется итерационно при начальных условиях \( k_0 = k\):
\[ k_i = \left( \frac{k_{i-1}}{1+\sqrt{1-k_{i-1}^2}}\right)^2 \]
Данная функция рассчитывает ряд первых n
значений \( k_i \), которые в дальнейшем могут быть использованы для расчета эллиптического интеграла и эллиптических функций.
- Аргументы
-
[in] k Эллиптический модуль \( k \).
[in] n Размер вектора y
соответствующих коэффициентам \( k_i \).
[out] y Указатель на вектор значений коэффициентов \( k_i \).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
Пример использования функцииellip_landen
:
Результат работы программы:
i k[i] 1 4.625e-01 2 6.009e-02 3 9.042e-04 4 2.044e-07 5 1.044e-14 6 2.727e-29 7 1.859e-58 8 8.640e-117 9 1.866e-233 10 0.000e+00 11 0.000e+00 12 0.000e+00 13 0.000e+00
- Заметки
- Ряд полного эллиптического интеграла сходится при значениях эллиптического модуля \( k<1 \). При этом сходимость ряда достаточно быстрая и для практический приложений достаточно от 10 до 20 значений \( k_i \) для обеспечения погрешности при расчете полного эллиптического интеграла в пределах машинной точности.
См. определение в файле ellip_landen.c строка 175
Используется в ellip_acd(), ellip_acd_cmplx(), ellip_asn(), ellip_asn_cmplx(), ellip_cd(), ellip_cd_cmplx(), ellip_sn() и ellip_sn_cmplx().
◆ ellip_sn()
int ellip_sn | ( | double * | u, |
int | n, | ||
double | k, | ||
double * | y | ||
) |
Эллиптическая функция Якоби \( y = \textrm{sn}(u K(k), k)\) вещественного аргумента
Функция рассчитывает значения значения эллиптической функции \( y = \textrm{sn}(u K(k), k)\) для вещественного вектора u
и эллиптического модуля k
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] u Указатель на массив вектора переменной \( u \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора u
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] y Указатель на вектор значений эллиптической функции \( y = \textrm{sn}(u K(k), k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
Пример представлен в следующем листинге:
Программа рассчитывает два периода эллиптической функции \( y = \textrm{sn}(u K(k), k)\) для k = 0
, k= 0.9
и k = 0.99
, а также выводит графики данных функций

См. определение в файле ellip_sn.c строка 127
◆ ellip_sn_cmplx()
Эллиптическая функция Якоби \( y = \textrm{sn}(u K(k), k)\) комплексного аргумента
Функция рассчитывает значения значения эллиптической функции \( y = \textrm{sn}(u K(k), k)\) для комплексного вектора u
и эллиптического модуля k
.
Для расчета используется итерационный алгоритм на основе преобразования Ландена.
- Аргументы
-
[in] u Указатель на массив вектора переменной \( u \).
Размер вектора[n x 1]
.
Память должна быть выделена.
[in] n Размер вектора u
.
[in] k Значение эллиптического модуля \( k \).
Эллиптический модуль – вещественный параметр, принимающий значения от 0 до 1.
[out] y Указатель на вектор значений эллиптической функции \( y = \textrm{sn}(u K(k), k)\).
Размер вектора[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
Расчет произведен успешно.
В противном случае код ошибки.
См. определение в файле ellip_sn_cmplx.c строка 105
Используется в ellip_ap_zp().
Документация по libdspl-2.0. Последние изменения: Ср 5 Янв 2022 12:44:35. Создано системой