Текст подпрограммы и версий ( Фортран ) sf15r.zip sf15d.zip |
Тексты тестовых примеров ( Фортран ) tsf15r.zip tsf15d.zip |
Текст подпрограммы и версий ( Си ) sf15r_c.zip sf15d_c.zip |
Тексты тестовых примеров ( Си ) tsf15r_c.zip tsf15d_c.zip |
Текст подпрограммы и версий ( Паскаль ) sf15r_p.zip , sf15e_p.zip |
Тексты тестовых примеров ( Паскаль ) tsf15r_p.zip , tsf15e_p.zip |
Вычисление полных эллиптических интегралов второго рода.
Функция SF15R производит вычисление следующих интегралов
π/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 для -1 ≤ x ≤ 1 0
Алгоритм реализованный в функции, изложен в статье
W.J.Cody, Chebyshev Approximations for the Complete Elliptic Integrals K and E, Math. Comp., 19, 1965.
FUNCTION SF15R (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 - | когда значение аргумента больше 1 при L = 1, 2, 3 ; значение функции полагается равным 3.4E38. |
Версии
SF15D - | вычисление полных эллиптических интегралов второго рода с повышенной точностью. |
Вызываемые подпрограммы
UTSF10 - | подпрограмма выдачи диагностических сообщений при работе функции SF15R. |
UTSF11 - | подпрограмма выдачи диагностических сообщений при работе функции SF15D. |
Замечания по использованию
Область допустимых значений аргумента для функций SF15R и SF15D указана выше при описании параметра IERR. Для функции SF15D аргумент x имеет тип двойной точности и при нарушении области допустимых значений функция SF15D полагается равной 1.7D308. |
X = 0.33 L = 2 Y = SF15R (X, L, IERR) Результаты: Y = 1.52711603392, IERR = 0