Паскаль. Основы программирования


           

возрастающую последовательность значений также


b > x1

> x2 > ... > xn > xn+1 > ... > c,

а для случаев 2 и 3 возрастающую последовательность значений также сходящихся к c:                                     a < x1 < x2

< ... < xn < xn+1 < ... < c.

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


Надо иметь ввиду, что для выбора первоначального значения x (x = a или x = b), надо установить, где знак функции f(x) совпадает со знаком f''(x).

Оценка точности приближения происходит также, как и для случая метода хорд по значению отношения
 где eps - заданная точность, а m - наименьшее значение |f'(x)| на промежутке [a, b].

Исходя из высказанных соображений составим процедуру уточнения корня методом касательных.

{ Процедура уточнения корня методом касательных }

  Procedure tangent(a, b, eps, min, dy : real; var x : real);

     var

       x1 : real;

     begin

       x1 := a;

       repeat

         x := x1 -  fx(x1)/derivat1(x1);

         x1 := x

       until abs(fx(x))/min < eps

     end;

Для установления первоначального значения x (конца промежутка, от которого начнется уточнения корня) нам нужна будет вторая производная. Функцию, которая ее вычисляет вы должны были составить самостоятельно, а сейчас проверьте себя:

{ Функция вычисления второй производной }

   Function

derivat2(x0, eps : real) : real;

      var

        dx, dy, dy3 : real;

      begin

        dx := 1;

        repeat

          dx := dx/2;

          dy := fx(x0 + dx) - 2*fx(x0) + fx(x0 - dx);

          dy3 := fx(5*x0/4 + 2*dx) - 2*fx(5*x0/4 + dx);

          dy3 := dy3 - fx(5*x0/4 - 2*dx) + 2*fx(5*x0/4 - dx)

        until abs(dy3/(6*dx)) < eps;

        derivat2 := dy/(dx*dx)

      end;





Программа

{ Решение уравнений методом касательных. method - метод }

{ tangent - касательная. Правило пропорциональных частей }

Program Method_Tangent;

   uses WinCrt;

   var

     a, b, x, min, eps : real;

{----------------------------------------------------------------------------------------}


Содержание  Назад  Вперед