Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9 / Числ_мет_лабораторный_практикум_ч2_4_16

.pdf
Скачиваний:
0
Добавлен:
31.05.2026
Размер:
648.6 Кб
Скачать

Лабораторная работа № 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 области ее существования. Затем определяются знаки функции в ряде промежуточных точек x1, α2, …, αn, выбор которых обычно учитывает особенности функции f(x).

Если окажется, что для некоторого номера k функция f(x) меняет знак, т.е. fk)fk+1)<0, то в интервале (αk, αk+1) имеется не менее одного корня уравнения.

Нужно тем или иным способом убедиться, является ли этот корень единствен-

ным, например, проверив значение f′(x) в интервале.

Для определения отрезков, на которых функция меняет знак, обычно стро-

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

αk и знаки функции f(x) в этих точках (табл. 9.1).

 

 

 

 

 

 

 

Таблица 9.1

 

 

 

Отделение корней

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x0=a

x1= α1

x22

x33

x44

 

xn=b

 

 

 

 

 

 

 

 

 

 

 

sign f(x)

+

+

 

+

 

 

 

 

 

 

 

 

 

 

 

Из таблицы видно, что отрезки [α12], [α23] и [α34] содержат хотя бы один корень уравнения 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)

 

(b0a0)/2

 

1

a1

 

(a1+b1)/2

b1

f(a1)

f((a1+b1)/2)

f(b1)

 

(b1a1)/2

 

2

a2

 

(a2+b2)/2

b2

f(a2)

f((a2+b2)/2)

f(b2)

 

(b2a2)/2

 

 

 

 

k

ak

 

(ak+bk)/2

bk

f(ak)

f((ak+bk)/2)

f(bk)

 

(bkak)/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

Соседние файлы в папке 9