Лабораторная работа № 9.
Простейшие методы решения нелинейных уравнений
1. Общие сведения |
|
Корни уравнений |
|
Пусть дано уравнение |
|
f (x) 0, |
(9.1) |
где функция f(x) определена и непрерывна в некотором конечном или беско-
нечном интервале a<х<b.
Всякое значение ξ, обращающее функцию f(x) в ноль, т. е. такое, что |
|
f ( ) 0 , |
(9.2) |
называется корнем уравнения f(x)=0 или нулем функции f(x).
Если алгебраическое или трансцендентное уравнение достаточно сложно,
то его корни сравнительно редко удается найти точно. Поэтому большое значе-
ние приобретают методы приближенного нахождения корней уравнения и оценки их точности.
В дальнейшем предполагается, что уравнение f(x)=0 имеет лишь изолиро-
ванные корни, т.е. для каждого корня уравнения существует окрестность, не содержащая других корней этого уравнения.
Поиск корней
Приближенное нахождение изолированных действительных корней алгеб-
раического уравнения обычно складывается из двух этапов [1]:
1) отделение корней, т.е. установление возможно тесных промежутков
[α,β], в которых содержится один и только один корень уравнения; 2) уточнение приближенных значений корней, т.е. доведение их до задан-
ной степени точности.
Для отделения корней полезна известная теорема из математического ана-
лиза: если непрерывная функция f(x) принимает значения разных знаков на
3
концах отрезка [α,β], т.е. f(α)f(β)<0, то внутри этого отрезка содержится, по меньшей мере, один корень уравнения, т.е. найдется хотя бы одно число ξ, при-
надлежащее интервалу (α,β), такое, что f(ξ)=0.
Корень заведомо будет единственным, если производная f′(x) существует и сохраняет постоянный знак внутри интервала (α,β), т.е. f(x) монотонна.
Процесс отделения корней
Процесс отделения корней начинается с установления знаков функции f(x)
в граничных точках a и b области ее существования. Затем определяются знаки функции в ряде промежуточных точек x=α1, α2, …, αn, выбор которых обычно учитывает особенности функции f(x).
Если окажется, что для некоторого номера k функция f(x) меняет знак, т.е. f(αk)f(αk+1)<0, то в интервале (αk, αk+1) имеется не менее одного корня уравнения.
Нужно тем или иным способом убедиться, является ли этот корень единствен-
ным, например, проверив значение f′(x) в интервале.
Для определения отрезков, на которых функция меняет знак, обычно стро-
ится вспомогательная таблица, содержащая координаты промежуточных точек
αk и знаки функции f(x) в этих точках (табл. 9.1).
|
|
|
|
|
|
|
Таблица 9.1 |
||
|
|
|
Отделение корней |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
x0=a |
x1= α1 |
x2=α2 |
x3=α3 |
x4=α4 |
… |
|
xn=b |
|
|
|
|
|
|
|
|
|
|
|
sign f(x) |
– |
– |
+ |
– |
+ |
… |
|
+ |
|
|
|
|
|
|
|
|
|
|
|
Из таблицы видно, что отрезки [α1,α2], [α2,α3] и [α3,α4] содержат хотя бы один корень уравнения f(x)=0, т.к. на этих отрезках функция меняет знак.
Часто отделение корней выполняется графически. Для этого строится гра-
фик функции f(x) на рассматриваемом отрезке и определяются приближенные координаты точек пересечения графика с осью абсцисс.
4
Уточнения корней
Если отделение корней выполнено, то в дальнейшем требуется вычислить значение каждого корня с заданной погрешностью. Для этого обычно приме-
няют некоторую итерационную процедуру, состоящую в построении числовой последовательности xn, (n=0, 1, 2, …), сходящейся к искомому корню уравне-
ния. В зависимости от способов вычисления элементов этой последовательно-
сти различаются методы уточнения корня. Важнейшими характеристиками итерационных методов являются сходимость и скорость сходимости, опреде-
ляющие соответственно возможность получения значения корня с заданной по-
грешностью и число итераций, необходимых для этого.
Обычно процесс итераций завершается, если два последовательных при-
ближения к корню различаются на некоторое заданное малое значение ε, т.е.
выполняется условие (9.3)
xn xn 1 |
, |
Метод деления отрезка пополам
(9.3)
Пусть дано уравнение f(x)=0, где функция f(x) непрерывна на [a,b] и f(a)f(b)<0. Для нахождения корня уравнения, принадлежащего отрезку [a,b], де-
лим этот отрезок пополам. Середина отрезка, служит приближением к корню уравнения (9.1) с абсолютной погрешностью (9.4) [2]
b
2
a
.
(9.4)
В середине отрезка x=(a+b)/2 определяется значение функции f(x). Если f((a+b)/2)=0, то середина отрезка является корнем, т.е. ξ=(a+b)/2. Если f((a+b)/2)≠0 то выбирается та из половин отрезка [a,(a+b)/2] или [(a+b)/2,b], на концах которой функция f(x) имеет противоположные знаки.
Новый отрезок [a1,b1], длина которого в два раза меньше исходного, снова делится пополам и повторяются те же действия, что и для исходного отрезка.
Процедура продолжается до тех пор, пока на некотором этапе или получается
5
точный корень уравнения, или возникает последовательность вложенных друг в друга отрезков: [a1,b1], [a2,b2], …, [an,bn], таких, что f(an)f(bn)<0. Длина отрезка с номером n по построению равна (9.5)
b a |
|
|
n |
n |
|
b a |
|
2 |
n |
|
|
.
(9.5)
Вычисления завершаются, если абсолютная погрешность корня, значение которой не превышает длины очередного отрезка [an,bn], оказывается меньше некоторого заданного малого числа ε, т.е. при выполнении условия |bn – an|< ε.
Результаты вычислений отдельно для каждого корня уравнения следует расположить в табл. 9.2
|
|
|
|
|
|
|
|
|
Таблица 9.2 |
|
|
|
Уточнение корня методом деления отрезка пополам |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
n |
an |
|
(an+bn)/2 |
bn |
f(an) |
f((an+bn)/2) |
f(bn) |
|
ε |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
a0 |
|
(a0+b0)/2 |
b0 |
f(a0) |
f((a0+b0)/2) |
f(b0) |
|
(b0–a0)/2 |
|
1 |
a1 |
|
(a1+b1)/2 |
b1 |
f(a1) |
f((a1+b1)/2) |
f(b1) |
|
(b1–a1)/2 |
|
2 |
a2 |
|
(a2+b2)/2 |
b2 |
f(a2) |
f((a2+b2)/2) |
f(b2) |
|
(b2–a2)/2 |
|
… |
… |
|
… |
… |
… |
… |
… |
|
… |
|
k |
ak |
|
(ak+bk)/2 |
bk |
f(ak) |
f((ak+bk)/2) |
f(bk) |
|
(bk–ak)/2 |
|
|
|
|
|
|
|
|
|
|
|
|
Метод простой итерации
Одним из наиболее часто использующихся способов численного решения нелинейных уравнений является метод простой итераций. Рассмотрим порядок вычислений в данном методе. Пусть дано уравнение (9.1) и требуется опреде-
лить его вещественные корни. Каким-либо способом заменим исходное уравне-
ние равносильным уравнением (9.6)
x
(x)
.
(9.6)
Данную запись уравнения будем называть канонической записью для ме-
тода простой итерации.
6
Построим последовательность приближений к корню, начиная с некоторо-
го начального заданного значения x0, по правилу (9.7)
xn+1=φ(xn), n=0, 1, … . |
(9.7) |
||
Если (x) |
непрерывная функция, а последовательность xn – сходящаяся, то |
||
значение предела (9.8) |
|
||
lim x |
|
(9.8) |
|
n |
n |
|
|
|
|
|
|
является корнем уравнения (9.6) и, соответственно, корнем исходного уравне-
ния (9.1).
Известно [3], что последовательность приближений xn сходится, если φ(x)
имеет на отрезке [a,b] непрерывную производную и выполняется условие (9.9)
|
, |
(9.9) |
(x) q 1 |
где q – правильная дробь. Процесс вычислений завершается, если модуль раз-
ности двух последовательных приближений оказывается меньше некоторого заданного малого числа ε, т.е. выполняется условие (9.3).
Результаты вычислений отдельно для каждого корня уравнения следует
расположить в табл. 9.3
Таблица 9.3
Уточнение корня методом простой итерации
n |
xn |
φ(xn) |
ε |
|
|
|
|
0 |
x0 |
φ(x0) |
|φ(x0) – x0| |
1 |
x1=φ(x0) |
φ(x1) |
|φ(x1) – x1| |
2 |
x2=φ(x1) |
φ(x2) |
|φ(x2) – x2| |
… |
… |
… |
… |
k |
xk=φ(xk-1) |
φ(xk) |
|φ(xk) – xk| |
|
|
|
|
7
2.Задания
1.Для указанного в варианте задания нелинейного уравнения выполнить от-
деление корней на заданном отрезке [a,b]. Оформить результаты в виде табл. 9.1.
2.Построить график функции f(x) на отрезке [a,b] и проверить правильность отделения корней, убедившись, что каждый частичный отрезок содержит ровно один корень.
3.Используя метод деления отрезка пополам, вычислить значения всех найденных корней с максимальной абсолютной погрешностью 0,01.
4.Проверить правильность решения, подставив значения корней в исходное уравнение.
5.Оформить результаты вычислений в виде табл. 9.2.
6.Используя метод простой итерации, вычислить значение каждого найденно-
го корня с максимальной абсолютной погрешностью 110-6. Вычисления выполнять с 7 десятичными знаками.
7.В методе простой итерации выполнить преобразование уравнения (9.1) к
каноническому виду (9.6) и проверить выполнение условий сходимости в окрестностях каждого корня. Если условия сходимости не выполняются,
следует привести уравнение к каноническому виду другим способом.
8.Оформить полученные результаты итераций в виде табл. 9.3.
9.Проверить правильность решения, подставив значения корней в исходное уравнение.
3.Пример выполнения задания
Задание
Задано нелинейное уравнение (9.10)
x3+3x2 –1=0. |
(9.10) |
8
Вычислить все корни уравнения на отрезке [-3,1] методом деления отрезка пополам с максимальной абсолютной погрешностью 0,01 и методом простой итерации с максимальной абсолютной погрешностью 1 10-6.
Отделение корней.
Заполняем табл. 9.1. Шаг таблицы выбирается в зависимости от свойств функции f(x) и длины отрезка [a,b]. Результат размещаем в табл. 9.4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9.4 |
||
|
|
|
|
|
|
|
|
Отделение корней |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
–4 |
–3 |
|
|
|
|
–2 |
–1 |
|
|
|
0 |
|
|
1 |
|
2 |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sign f(x) |
– |
– |
|
|
|
|
+ |
|
|
+ |
|
|
|
– |
+ |
|
+ |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Из табл. 9.4 видно, что уравнение (9.10) имеет 3 корня на отрезках [–3, –2], |
|||||||||||||||||||||||||||
[–1,0] и [0,1]. Построим график функции см. рис. 9.1. |
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
4 |
- |
3 |
- |
2 |
- |
1 |
0 |
1 |
2 |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 9.1. График функции f(x)=x3+3x2 –1 |
|
|
|
|
||||||||||||||||||||||
|
По графику функции легко убедиться, что каждый из частичных отрезков |
|||||||||||||||||||||||||||
отрезках [–3, –2], [–1,0] и [0,1] содержит ровно один корень.
Пример 1.Метод деления отрезка пополам.
Этот метод применяется к каждому частичному отрезку, содержащему ко-
рень уравнения. Результаты вычислений организуются в виде таблицы 9.2. для каждого корня (см. табл. 9.5, табл. 9.6 и табл. 9.7).
9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9.5 |
||||
|
|
|
|
|
|
|
|
Уточнение корня для отрезка [–3, –2] |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
an |
|
(an+ bn)/2 |
|
bn |
f(an) |
|
f((an+ bn)/2) |
|
f(bn) |
|
ε |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
-3 |
|
-2,5 |
|
-2 |
|
-1 |
2,125 |
3 |
|
0,5 |
|
|
|
|||||
|
|
1 |
|
|
-3 |
|
-2,75 |
|
-2,5 |
|
-1 |
0,8906 |
2,125 |
|
0,25 |
|
|
|
|||||
|
|
2 |
|
|
-3 |
|
-2,875 |
|
-2,75 |
|
-1 |
0,0332 |
0,8906 |
|
0,13 |
|
|
|
|||||
|
|
3 |
|
|
-3 |
|
-2,9375 |
|
-2,875 |
|
-1 |
-0,4607 |
0,0332 |
|
0,06 |
|
|
|
|||||
|
|
4 |
|
|
-2,9375 |
|
-2,9063 |
|
-2,875 |
|
-0,461 |
-0,2081 |
0,0332 |
|
0,03 |
|
|
|
|||||
|
|
5 |
|
|
-2,9063 |
|
-2,8906 |
|
-2,875 |
|
-0,208 |
-0,0861 |
0,0332 |
|
0,02 |
|
|
|
|||||
|
|
6 |
|
|
-2,8906 |
|
-2,8828 |
|
-2,875 |
|
-0,086 |
-0,0261 |
0,0332 |
|
0,008 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9.6 |
||||
|
|
|
|
|
|
|
|
Уточнение корня для отрезка [–1, 0] |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
n |
|
an |
|
(an+ bn)/2 |
|
bn |
f(an) |
|
f((an+ bn)/2) |
|
f(bn) |
|
ε |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
0 |
-1 |
|
-0,5 |
|
0 |
|
1 |
|
-0,375 |
|
-1 |
|
0,5 |
|
|
||||||||
1 |
-1 |
|
-0,75 |
|
-0,5 |
|
1 |
|
0,2656 |
|
-0,375 |
|
0,25 |
|
|
||||||||
2 |
-0,75 |
|
-0,625 |
|
-0,5 |
|
0,2656 |
|
-0,0723 |
|
-0,375 |
|
0,13 |
|
|
||||||||
3 |
-0,75 |
|
-0,6875 |
|
-0,625 |
|
0,2656 |
|
0,0930 |
|
-0,0723 |
|
0,06 |
|
|
||||||||
4 |
-0,6875 |
|
-0,6563 |
|
-0,625 |
|
0,0930 |
|
0,0094 |
|
-0,0723 |
|
0,03 |
|
|
||||||||
5 |
-0,6563 |
|
-0,6406 |
|
-0,625 |
|
0,0093 |
|
-0,0317 |
|
-0,0723 |
|
0,02 |
|
|
||||||||
6 |
-0,6563 |
|
-0,6484 |
|
-0,6406 |
|
0,0093 |
|
-0,0112 |
|
-0,0317 |
|
0,008 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9.7 |
||||
|
|
|
|
|
|
|
|
Уточнение корня для отрезка [0, 1] |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
n |
|
|
an |
|
(an+ bn)/2 |
|
bn |
|
f(an) |
|
f((an+ bn)/2) |
|
f(bn) |
|
ε |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
0 |
|
0 |
|
0,5 |
|
1 |
|
-1 |
|
-0,125 |
|
3 |
|
0,5 |
|
|
|
|||||
|
1 |
|
0,5 |
|
0,75 |
|
1 |
|
-0,125 |
|
1,1094 |
|
3 |
|
0,25 |
|
|
|
|||||
|
2 |
|
0,5 |
|
0,625 |
|
0,75 |
|
-0,125 |
|
0,4160 |
|
1,1094 |
|
0,13 |
|
|
|
|||||
|
3 |
|
0,5 |
|
0,5625 |
|
0,625 |
|
-0,125 |
|
0,1272 |
|
0,4160 |
|
0,06 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
0,5 |
0,5312 |
0,5625 |
-0,125 |
-0,0034 |
0,1272 |
0,03 |
5 |
0,5312 |
0,5469 |
0,5625 |
-0,0034 |
0,0608 |
0,1272 |
0,02 |
6 |
0,5312 |
0,5391 |
0,5469 |
-0,0034 |
0,0284 |
0,0608 |
0,008 |
|
|
|
|
|
|
|
|
Пример 2. Метод простой итерации.
Данный метод применяется для каждого корня уравнения. В окрестностях каждого корня выполняется приведение уравнения к каноническому виду и проверяется выполнение условий сходимости метода. Если условия сходимости не выполняются для какого-либо отрезка, то необходимо выполнить приведе-
ние к каноническому виду другим способом.
Отрезок [–3,–2]. Приведем уравнение к каноническому виду. Так как на этом отрезке x2≠0, разделим уравнение (9.10) на x2. Получим (9.11)
x 3 |
1 |
||
x |
2 |
||
|
|||
|
|
||
0
.
(9.11)
Оставив x в левой части равенства и перенеся остальные члены в правую часть, имеем (9.12)
x x12 3 .
Таким образом, функция φ(x) имеет вид (9.13)
(x) |
1 |
3 |
. |
||
x |
2 |
||||
|
|
||||
|
|
|
|
||
Вычислим производную функции φ(x) (9.14)
(9.12)
(9.13)
(x) |
2 |
||
x |
3 . |
||
|
|||
|
|
||
Определим значения производной на концах отрезка [–3,–2].
(9.14)
( 3) |
2 |
|
0, 07 |
1 |
|
( 3) |
3 |
||||
|
|
|
|||
|
|
|
|
и
( 2) |
2 |
|
0, 25 |
1 |
|
( 2) |
3 |
||||
|
|
|
|||
|
|
|
|
(9.15)
Таким образом, условия сходимости выполняются в окрестностях искомо-
го корня. Применяя метод простой итерации, вычислим значение корня.
Результаты вычислений показаны в табл. 9.8.
11
Таблица 9.8
Уточнение корня на отрезке [–3,–2].
n |
xn |
φ(xn) |
ε |
|
|
|
|
0 |
-2,5 |
-2,84 |
0,34 |
1 |
-2,84 |
-2,8760167 |
0,0360167 |
2 |
-2,8760167 |
-2,8791025 |
0,0030859 |
3 |
-2,8791025 |
-2,8793615 |
0,0002591 |
4 |
-2,8793616 |
-2,8793833 |
2,1 10-5 |
5 |
-2,8793833 |
-2,8793851 |
1,8 10-6 |
6 |
-2,8793851 |
-2,8793852 |
1 10-7 |
Проверяем правильность вычислений f(-2,8793852)= 1,1 10-07.
Легко убедиться, что канонический вид уравнения (9.12) непригоден для нахождения корней на отрезках [-1, 0] и [0, 1] поскольку значения производной
φ'(x) на указанных отрезках не удовлетворяют условию сходимости (9.9). При-
водим уравнение (9.10) к каноническому виду другим способом. Последова-
тельно выполним преобразования (9.16) исходного уравнения x3+3x2 –1=0.
x |
2 |
(x 3) |
1, |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
(9.16) |
x 1/ |
(x 3) . |
|
|
|
|||
Отрезок [–1,0]. Канонический вид уравнения (9.17) |
|
||||||
x 1/ |
(x 3) |
и (x) 1/ |
(x 3) , |
(9.17) |
|||
а производная φ(x) равна (9.18)
(x) |
1 |
|
|
|
2(x |
3) |
3 2 |
||
|
||||
|
|
Вычислим значение производной на концах отрезка [–1,0]:
(9.18)
( 1) |
|
|
1 |
|
0,18 1 и |
(0) |
|
|
1 |
0,10 1. |
|
|
|
|
|
||||||
|
2 |
3 2 |
|
3 2 |
||||||
|
2 |
|
|
|
2 |
3 |
|
|||
Условие сходимости выполняется.
Результаты итераций приведены в табл. 9.9.
12
