Текст подпрограммы и версий ( Фортран )
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

Назначение

Вычисление нуля вещественной функции на заданном интервале методом Ньютона

Математическое описание

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