1. Приближенное  решение нелинейных уравнений

 

Пусть дано уравнение с одним неизвестным

                                     ,                                                (1.1)

где f(x) - заданная алгебраическая или трансцендентная функция.

Функция называется алгебраической, если для получения её значения нужно выполнить арифметические операции и возведение в степень с рациональным показателем. Примеры трансцендентных функций - показательная, логарифмическая, тригонометрические, обратные тригонометрические.

Решить уравнение - значит найти все его корни, то есть те значения х, которые обращают уравнение в тождество, или доказать, что корней нет.

В общем случае не существует формул, по которым определяются точные значения корней уравнения (1.1). Для отыскания корней используют приближенные методы, при этом корни находятся с некоторой заданной точностью ε. Это означает, что если x - точное значение корня уравнения, а x- его приближенное значение с точностью ε, то |x - x| ≤ ε. Если корень найден с точностью ε, то принято писать x = x ± ε.

Будем предполагать, что уравнение (1.1) имеет лишь  изолированные корни, то есть для каждого корня существует окрестность, не содержащая других корней этого уравнения.

Приближенное решение уравнения состоит из двух этапов:

1. Отделение корней, то есть нахождение интервалов из области определения функции f(x), в каждом из которых содержится только один корень уравнения (1).

2. Уточнение корней до заданной точности.

Отделение корней можно проводить  графически и аналитически.

Для того, чтобы графически отделить корни уравнения (1.1), строят график функции y = f(x). Абсциссы точек его пересечения с осью Ox есть действительные корни уравнения (рис. 1). Практически бывает удобнее заменить уравнение (1.1) равносильным ему уравнением

                                     ,                                          (1.2)

где Φ(x) и Ψ(x) - более простые функции, чем f(x). Абсциссы точек пересечения графиков функций y = Φ(x) и y = Ψ(x)  дают корни уравнения (1.2), а значит и исходного уравнения (1.1) (рис.2).

Аналитическое отделение корней основано на следующей теореме: если непрерывная на отрезке [a, b] функция y = f(x) принимает на концах отрезка значения разных знаков, т.е. f(af(b) < 0, то внутри этого отрезка находится хотя бы один корень уравнения f(x) = 0;  если при этом производная f(x) сохраняет  знак внутри отрезка [a, b], то корень является единственным.

 

              

Уточнение корней заключается в сужении интервала изоляции корня и выполняется одним из специальных методов. Рассмотрим самый простой из них - метод половинного деления.

Пусть корень отделён и принадлежит отрезку [a, b]. Находим середину отрезка [a, b] по формуле

  

Если f(c) = 0, то с - искомый корень. Если f(c) ≠ 0, то в качестве нового отрезка изоляции корня [a1, b1] выбираем ту половину [a, c] или [c, b], на концах которой f(x) принимает значения разных знаков. Другими словами, если f(a) ∙ f(c) < 0, то корень принадлежит отрезку [a, c], если f(a) ∙ f(c) < 0  - отрезку [c, b]. Полученный отрезок снова делим  пополам,  находим c1,

вычисляем f(c1), выбираем отрезок [a2, b2] и т.д. Длина каждого нового отрезка вдвое меньше длины предыдущего, то есть за n шагов отрезок сократится в 2n раз. Как только будет выполнено условие

то в качестве приближенного значения корня, вычисленного с точностью ε, можно взять

Пример.  Пусть требуется решить уравнение

с точностью ε = 0,0001. Отделим корень графически. Для этого преобразуем уравнение  к виду

и  построим  графики функций (рис. 4):

Из рисунка видно, что абсцисса точки пересечения этих графиков принадлежит отрезку [0; 1].

Подтвердим аналитически правильность нахождения отрезка изоляции корня. Для отрезка [0; 1] имеем:

. Следовательно, корень отделён правильно.

 

Уточнение корня выполним методом половинного деления.

 

Первый шаг.

 

Корень принадлежит отрезку

 

Второй шаг.

Корень принадлежит отрезку

 

Третий шаг.

Корень принадлежит отрезку

 

Сведём результаты вычислений в таблицу.

 

Таблица 1

a

b

|b-a|

c

f(a)

f(c)

f(a) ∙ f(c)

0

1

1

0.5

0.5

-0.57436

<0

0

0.5

0.5

0.25

0.5

-0.07951

<0

0

0.25

0.25

0.125

0.5

0.19905

>0

0.125

0.25

0.125

 

 

 

 

 

Дальнейшие вычисления проведём с помощью программы.

 

program equation;    {Решение уравнения методом половинного деления}

uses crt;

var

  a,b: real;                  {           Концы отрезка          }

  c: real;                     {         Середина отрезка       }

  e: real;                     {               Точность               }

function f(x: real): real;

  begin

     f: = sqr(x-1) - 0.5*exp(x);        { Функция f(x)    }

  end;

begin

  writeln ('  Введите концы отрезка : ');

  write (' a = '); readln ( a );

  write (' b = '); readln( b );

  write ('  Введите точность e = '); readln ( e  );

  writeln(' Результат : ');

  while abs ( b - a ) > 2*e  do

      begin

          c: = ( a + b ) / 2;

          if  f( c ) = 0 then

             begin

                 writeln( ' c  = ' , c : 8 : 6 , ' f( c  ) = ' , f( c ) : 8 : 6 );

                 readln ;

                 exit ;

            end;

         if   f(a) * f(c) < 0 then b: = c else a: = c;

      end;

  c: = ( a + b ) / 2;

  writeln( ' c = ' , c : 8 : 6, 'f( c )  =  ' , f( c ) : 8 : 6 );

  readln;

end.

 

Были введены следующие значения: a = 0, b = 1, e = 0.0001.Получены результаты: с = 0.213287; f (c) = 0.000047.

Ответ: Корень уравнения равен 0,2133 ± 0,0001.

 

Задания. Найти корень уравнения (если корней несколько, взять наименьший положительный) с точностью 0,0001.

 

Таблица 2

№ варианта

Уравнение

№ варианта

Уравнение

0

5

1

6

2

7

3

8

4

9