Текст подпрограммы и версий ( Фортран ) sf14r.zip sf14d.zip |
Тексты тестовых примеров ( Фортран ) tsf14r.zip tsf14d.zip |
Текст подпрограммы и версий ( Си ) sf14r_c.zip sf14d_c.zip |
Тексты тестовых примеров ( Си ) tsf14r_c.zip tsf14d_c.zip |
Текст подпрограммы и версий ( Паскаль ) sf14r_p.zip , sf14e_p.zip |
Тексты тестовых примеров ( Паскаль ) tsf14r_p.zip , tsf14e_p.zip |
Вычисление полных эллиптических интегралов первого рода.
Функция SF14R производит вычисление следующих интегралов
π/2 (1) y = ∫ (1 - x sin2 t) -1/2 dt для 0 ≤ x < 1 0 π/2 (2) y = ∫ (1 - x2 sin2 t) -1/2 dt для -1 < x < 1 0 π/2 (3) y = ∫ (1 - (1 - x) sin2 t) -1/2 dt для 0 < x ≤ 1 0
Алгоритм реализованный в функции, изложен в статье
W.J.Cody, Chebyshev Approximations for the Complete Elliptic Integrals K and E, Math. Comp., 19, 1965.
FUNCTION SF14R (X, L, IERR)
Параметры
X - | заданное значение аргумента x (тип: вещественный); |
L - | задает режим работы функции (тип: целый); при этом: если |
L = 1 - | вычисляется интеграл (1); |
L = 2 - | вычисляется интеграл (2); |
L = 3 - | вычисляется интеграл (3); |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
IERR=65 - | когда значение L меньше 1 или больше 3; значение функции полагается равным 3.4E38; |
IERR=66 - | когда значение аргумента меньше 0. При L = 1; значение функции полагается pавным 3.4E38; |
IERR=67 - | когда значение аргумента больше или pавно 1. При L = 1 и L = 2; значение функции полагается равным 3.4E38; |
IERR=68 - | когда значение аргумента больше 1. При L = 3; значение функции полагается pавным 3.4E38; |
IERR=69 - | когда значение аргумента меньше или pавно 0. При L = 3; значение функции полагается равным 3.4E38. |
Версии
SF14D - | вычисление полных эллиптических интегралов первого рода с повышенной точностью. |
Вызываемые подпрограммы
UTSF10 - | подпрограмма выдачи диагностических сообщений при работе функции SF14R. |
UTSF11 - | подпрограмма выдачи диагностических сообщений при работе функции SF14D. |
Замечания по использованию
Область допустимых значений аргумента для функции SF14R и SF14D указана выше при описании параметра IERR. Для функции SF14D аргумент x имеет тип двойной точности и при нарушении области допустимых значений функция SF14D полагается равной 1.7D308. |
X = 0.0 L = 1 Y = SF14R (X, L, IERR) Результаты: Y = 1.57079632679, IERR = 0