Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Tabula  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Банк задач  |  Форум  |  Download  |  Ссылки  |  Конкурсы


 
Численное решение уравнений и систем уравнений
А.А. Ханова

Вернуться на страницу <Методические разработки>

В начало

 

 Решение нелинейных уравнений

Метод половинного деления ~ Метод хорд

 

Нелинейные уравнения можно разделить на 2 класса - алгебраические и трансцендентные. Алгебраическими уравнениями называют уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные). В частности, многочлен является целой алгебраической функцией. Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и другие) называются трансцендентными.

Методы решения нелинейных уравнений делятся на две группы:

  1. точные методы;
  2. итерационные методы.

Точные методы позволяют записать корни в виде некоторого конечного соотношения (формулы). Из школьного курса алгебры известны такие методы для решения тригонометрических, логарифмических, показательных, а также простейших алгебраических уравнений.

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

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

(1)

где:

  1. Функция f(x) непрерывна на отрезке [a, b] вместе со своими производными 1-го и 2-го порядка.
  2. Значения f(x) на концах отрезка имеют разные знаки (f(a*  f(b) < 0).
  3. Первая и вторая производные f' (x) и f'' (x) сохраняют определенный знак на всем отрезке.

Условия 1) и 2) гарантируют, что на интервале [a, b] находится хотя бы один корень, а из 3) следует, что f(x) на данном интервале монотонна и поэтому корень будет единственным.

Решить уравнение (1) итерационным методом значит установить, имеет ли оно корни, сколько корней и найти значения корней с нужной точностью.

Всякое значение , обращающее функцию f(x) в нуль, т.е. такое, что:

называется корнем уравнения (1) или нулем функции f(x).

Задача нахождения корня уравнения f(x) = 0 итерационным методом состоит из двух этапов:

  1. отделение корней - отыскание приближенного значения корня или содержащего его отрезка;
  2. уточнение приближенных корней - доведение их до заданной степени точности.

Процесс отделения корней начинается с установления знаков функции f(x) в граничных x = a и x = b точках области ее существования.

Пример 1. Отделить корни уравнения:

f(x) є x3 - 6х + 2 = 0.

(2)

Составим приблизительную схему:

х

- Ґ

- 3

- 1

0

1

3

+ Ґ

f(x)

-

-

+

+

-

+

+

Следовательно, уравнение (2) имеет три действительных корня, лежащих в интервалах [-3, -1], [0, 1] и [1, 3].

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

В инженерной практике распространен графический способ определения приближенных корней.

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

,

(3)

где функции f1(x) и f2(x) - более простые, чем функция f(x). Тогда, построив графики функций у = f1(x) и у = f2(x), искомые корни получим как абсциссы точек пересечения этих графиков.

Рисунок 2.

 

Пример 2. Графически отделить корни уравнения (Рисунок 2):

x lg x = 1.

(4)

Уравнение (4) удобно переписать в виде равенства:

lg x=.

Отсюда ясно, что корни уравнения (4) могут быть найдены как абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = . Построив эти кривые, приближенно найдем единственный корень уравнения (4) или определим его содержащий отрезок [2, 3].

Итерационный процесс состоит в последовательном уточнении начального приближения х0. Каждый такой шаг называется итерацией. В результате итераций находится последовательность приближенных значений корня х1, х2, ..., хn. Если эти значения с увеличением числа итераций n приближаются к истинному значению корня, то говорят, что итерационный процесс сходится.

 

Метод половинного деления

 

Для нахождения корня уравнения (1), принадлежащего отрезку [a, b], делим этот отрезок пополам. Если f = 0 , то x = является корнем уравнения. Если f не равно 0 (что, практически, наиболее вероятно), то выбираем ту из половин или , на концах которой функция f(x) имеет противоположные знаки. Новый суженный отрезок [ а1, b1] снова делим пополам и производим те же самые действия.

Метод половинного деления практически удобно применять для грубого нахождения корня данного уравнения, метод прост и надежен, всегда сходится.

Пример 3. Методом половинного деления уточнить корень уравнения

f(x) = x4 + 2 x3 - x - 1 = 0

лежащий на отрезке [ 0, 1] .

Последовательно имеем:

f(0) = - 1; f(1) = 1; f(0,5) = 0,06 + 0,25 - 0,5 - 1 = - 1,19;

f(0,75) = 0,32 + 0,84 - 0,75 - 1 = - 0,59;

f(0,875) = 0,59 + 1,34 - 0,88 - 1 = + 0,05;

f(0,8125) = 0,436 + 1,072 - 0,812 - 1 = - 0,304;

f(0,8438) = 0,507 + 1,202 - 0,844 - 1 = - 0,135;

f(0,8594) = 0,546 + 1,270 - 0,859 - 1 = - 0,043 и т. д.

Можно принять

x = (0,859 + 0,875) = 0,867

 

Метод хорд

 

В данном методе процесс итераций состоит в том, что в качестве приближений к корню уравнения (1) принимаются значения х1, х2, ..., хn точек пересечения хорды АВ с осью абсцисс (Рисунок 3). Сначала запишем уравнение хорды AB:

.

Для точки пересечения хорды AB с осью абсцисс (х = х1, y = 0) получим уравнение:

Пусть для определенности f'' (x) > 0 при а less.gif (65 bytes)  х less.gif (65 bytes)  b (случай f'' (x) < 0 сводится к нашему, если записать уравнение в виде - f(x) = 0). Тогда кривая у = f(x) будет выпукла вниз и, следовательно, расположена ниже своей хорды АВ. Возможны два случая: 1) f(а) > 0 (Рисунок 3, а) и 2) f(b) < 0 (Рисунок 3, б).

   image002.jpg (4453 bytes)

Рисунок 3, а, б.

 

В первом случае конец а неподвижен и последовательные приближения: x0 = b;

(5)

образуют ограниченную монотонно убывающую последовательность, причем

Во втором случае неподвижен конец b, а последовательные приближения: x0 = а;

(6)

образуют ограниченную монотонно возрастающую последовательность, причем

Обобщая эти результаты, заключаем:

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

Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что

| xi - xi - 1|< e ,

где e - заданная предельная абсолютная погрешность.

Пример 4. Найти положительный корень уравнения

f(x) = x3 - 0,2 x2 - 0,2 х - 1,2 = 0

с точностью e = 0,01.

Прежде всего, отделяем корень. Так как

f (1) = -0,6 < 0 и f (2) = 5,6 > 0,

то искомый корень x лежит в интервале [1, 2]. Полученный интервал велик, поэтому разделим его пополам. Так как

f (1,5) = 1,425 > 0, то 1< x < 1,5.

Так как f'' (x) = 6 x - 0,4 > 0 при 1 < х < 1,5 и f (1,5) > 0, то воспользуемся формулой (5) для решения поставленной задачи:

= 1,15;

|x1 - x0| = 0,15 > e ,

следовательно, продолжаем вычисления;

f (х1) = -0,173;

= 1,190;

|x2 - x1| = 0,04 > e ,

f (х2) = -0,036;

= 1,198;

|x3 - x2| = 0,008 < e .

Таким образом, можно принять x = 1,198 с точностью e = 0,01.

Заметим, что точный корень уравнения x = 1,2.

 

В начало

Вернуться на страницу <Методические разработки>

 

 

Карта сайта | На первую страницу | Поиск | О проекте | Сотрудничество | e-mail
Корпоративная почта | ActiveCloud | Антивирус Касперского | Matlab | Подписка на MSDN для вузов | ИТ-ПРОРЫВ

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

Наши баннеры


Copyright © 1993-2014. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 23.04.14
Сайт начал работу 01.09.00

Softline – программное обеспечение, IT-консалтинг, лицензирование, обучение

подарки – подарочные сертификаты

 

            Rambler's Top100