Текст подпрограммы и версий ( Фортран ) zf15r.zip zf15d.zip |
Тексты тестовых примеров ( Фортран ) tzf15r.zip tzf15d.zip |
Текст подпрограммы и версий ( Си ) zf15r_c.zip zf15d_c.zip |
Тексты тестовых примеров ( Си ) tzf15r_c.zip tzf15d_c.zip |
Текст подпрограммы и версий ( Паскаль ) zf15r_p.zip zf15e_p.zip |
Тексты тестовых примеров ( Паскаль ) tzf15r_p.zip tzf15e_p.zip |
Вычисление нуля вещественной функции на заданном интервале методом бисекции с линейной интерполяцией.
ZF15R вычисляет нуль вещественной функции Y = F (X). Подпрограмма использует метод бисекции с линейной интерполяцией.
И.С.Березин, Н.П.Жидков, Методы вычислений, т.1, "Hаука", 1966.
SUBROUTINE ZF15R (F, A, B, EPS, ROOT, ITMAX, IERR)
Параметры
F - | имя вещественной подпрограммы - функции вычисления F (X) в любой точке интервала (A, B); |
A, B - | заданная нижняя и верхняя границы интервала, на котоpом F (X) меняет знак (тип: вещественный); |
EPS - | заданная абсолютная погрешность вычисления нуля функции (тип: вещественный); |
ROOT - | вещественная переменная, значение которой в pезультате работы подпрограммы полагается равным вычисленному нулю функции F (X); |
ITMAX - | целая переменная, значение которой перед началом работы подпрограммы должно быть положено равным максимальному числу итераций, ориентировочно требуемых для обеспечения сходимости; ее значение в результате работы подпрограммы полагается равным действительному числу итераций, потребовавшихся для обеспечения сходимости; |
IERR - | целая переменная, служащая для сообщения об ошибках обнаруженных в ходе работы подпрограммы; при этом: |
IERR=65 - | когда нуль функции не может быть посчитан в пределах заданного числа итераций; |
IERR=66 - | когда функция не меняет знака на заданном интервале. |
Версии
ZF15D - | вычисление нуля вещественной функции на заданном интервале методом бисекции с линейной интерполяцией; в режиме вычислений с повышенной точностью. При этом параметры A, B, EPS и ROOT должны иметь тип DOUBLE PRECISION, а подпрограмма - функция вычисления F (X) должна быть оформлена как DOUBLE PRECISION FUNCTION. |
Вызываемые подпрограммы
UTZF10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZF15R. |
UTZF11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZF15D. |
Замечания по использованию: нет
FUNCTION F(X) F = X*X + 2. *X - 6. RETURN END EXTERNAL F A = - 3.3 B = 4.6 EPS = 0.00001 ITMAX = 20 CALL ZF15R (F, A, B, EPS, ROOT, ITMAX, IERR) Результаты: ROOT = 1.64575132 , ITMAX = 8 , IERR = 0