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


Вычисление корней уравнения нахождением минимума функции на промежутке


Зная определение минимума функции на промежутке, легко применить этот метод к нахождению корней уравнения.

Для этого достаточно рассматривать на заданном промежутке не саму функцию, а ее модуль, тогда минимум функции будет находиться на оси OX , а значение аргумента в этой точке даст нам значение корня уравнения на заданном промежутке. Разумеется, функция должна удовлетворять всем вышеперечисленным требованиям.

Ниже приводятся рисунки, которые наглядно показывают механизм применения поиска минимума функции на промежутке к нахождению корней. На одном из рисунков схематически показан график заданной функции, а на втором - график абсолютного значения этой функции применительно к нахождению корня с использованием поиска минимума для нахождения корня (см. рис. 28 и 29).

Рис. 28

Рис. 29

Программа нахождения корня уравнения с использованием поиска минимума функции методом “золотого сечения” приводится ниже.

{Решение уравнений с использованием определения минимума }

{ с помощью "золотого сечения" }

Program Equation_min_gold;

   uses WinCrt;

   var

     a, a1, b, b1, e, x : real;

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

{ Поиск минимума функции методом золотого сечения }

    Procedure mingold(a, b, e : real; var

x : real);

          var

             x1, x2, y1, y2 : real;

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

    Function func(x : real) : real;

        begin

          func := abs(sin(2*x) - ln(x))

        end;

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

    Function f1(a, b : real) : real;

        begin

          f1 := 0.618*a + 0.382*b

        end;

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

    Function f2(a, b : real) : real;

        begin

          f2 := 0.382*a + 0.618*b

        end;

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




Начало  Назад  Вперед