|
Текст подпрограммы и версий ( Фортран ) zf21r.zip zf21d.zip |
Тексты тестовых примеров ( Фортран ) tzf21r.zip tzf21d.zip |
|
Текст подпрограммы и версий ( Си ) zf21r_c.zip zf21d_c.zip |
Тексты тестовых примеров ( Си ) tzf21r_c.zip tzf21d_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) zf21r_p.zip zf21e_p.zip |
Тексты тестовых примеров ( Паскаль ) tzf21r_p.zip tzf21e_p.zip |
Вычисление нуля вещественной функции на заданном интервале методом Ньютона
ZF21R вычисляет нуль вещественной функции y = F (X) на интервале (A, B) с заданной точностью EPS методом Ньютона
И.С.Березин, Н.П.Жидков. Методы вычислений, т.1. Изд-во "Наука", 1966
SUBROUTINE ZF21R (FUNCD, A, B, EPS, ROOT,
ITMAX, IERR)
Параметры
| FUNCD - | имя подпрограммы вычисления заданной функции и ее производной в точке X; оформляется в виде подпрограммы с тремя формальными параметрами: |
| X - | точка, в которой вычисляется значение функции и ее производной (тип: вещественный); |
| F - | вещественная переменная, значение которой полагается равной значению функции в точке X; |
| DF - | вещественная переменная, значение которой полагается равной значению производной функции в точке X |
| A, B - | заданные нижняя и верхняя границы интервала, на котором ведется поиск нуля функции (тип: вещественный); |
| EPS - | заданная абсолютная погрешность вычисления нуля функции (тип: вещественный); |
| ROOT - | вещественная переменная, значение которой в результате работы подпрограммы полагается равным вычисленному нулю функции; |
| ITMAX - | целая переменная, значение которой перед началом работы подпрограммы должно быть положено равным максимальному числу итераций, ориентировочно требуемых для обеспечения сходимости к нулю функции; |
| IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом |
| IERR = 65 - | когда нуль функции не может быть посчитан в пределах заданного числа итераций; |
| IERR = 66 - | когда произошел выход за границы заданного интервала |
Версии
| ZF21D - | вычисление нуля вещественной функции на заданном интервале методом Ньютона в режиме вычислений с удвоенной точностью. При этом параметры A, B, EPS, ROOT и формальные параметры подпрограммы FUNCD должны иметь тип DOUBLE PRECISION |
Вызываемые подпрограммы
| UTZF10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZF21R |
| UTZF11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы ZF21D |
Замечания по использованию
| В подпрограммах ZF21R и ZF21D имеется общий блок COMMON /ZF21RR/ ITER. Переменная ITER полагается равной количеству итераций, выполненных при вычислении нуля функции |
SUBROUTINE FUNCD (X, F, DF)
F = SIN(X)
DF = COS(X)
RETURN
END
EXTERNAL FUNCD
COMMON /ZF21RR/ ITER
A = -2.57
B = 1.57
EPS = 1.E-5
ITMAX = 30
CALL ZF21R (FUNCD, A, B, EPS, ROOT, ITMAX, IERR)
Результаты: ROOT = 0.0 , ITER = 4 , IERR = 0