ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.05.2019
Просмотров: 1240
Скачиваний: 1
6
3. Теоретические сведения и примеры решения задач
Решение нелинейных уравнений
Метод деления отрезка пополам (метод бисекции)
Допустим, что на отрезке [а,b], расположено искомое значение корня х=с, т.
е. с ϵ [а,b]. В качестве начального приближения корня с0 принимаем середину
этого отрезка:
с =
a + b
2
Далее исследуем значения функции F(x) на концах отрезков [а, со] и [со,b],
т.е. в точках а, со, b. Тот из отрезков, на концах которого F(x) принимает
значения разных знаков, содержит искомый корень; Допустим, что нам
удалось найти отрезок [а,b], на котором расположено искомое значение корня
поэтому его принимаем в качестве нового отрезка [a1,b1]. Вторую половину
отрезка [а,b], на которой знак F(x) не меняется, отбрасываем. В качестве
первого приближения корня принимаем середину нового отрезка
с
1
=
a
1
+ b
1
2
и т. д.
Таким образом, k-е приближение вычисляется как
с
k
=
a
k
+ b
k
2
После каждой итерации отрезок, на котором расположен корень,
уменьшается вдвое, а после k - итераций он сокращается в 2к раз:
b
k
− a
k
=
b − a
2
k
Иллюстрация данного метода приведена на рисунке 1.
Процесс вычислений завершается, когда длина текущего интервала
становится меньше заданной величины точности -
нахождения корня.
7
Рисунок 1.1 Графическая интерпретация нахождения корней
Пример
Методом половинного деления уточнить корень уравнения лежащий на
отрезке
0,4; 1
с точностью до 0,001.
???? ???? = ????
4
+ 2????
3
− ???? − 1 = 0
Рисунок 3 Зависимость ???? ????
Последовательно имеем:
x
0
=0.4; f(0) = - 1.246;
x
1
=1; f(1) = 1;
8
????
2
=
????
0
+ ????
1
2
=
0.4 + 1
2
= 0,7
f(0,7) = - 0.774;
????
3
=
????
1
+ ????
2
2
=
1 + 0,7
2
= 0,85
f(0,85) = - 0,1;
????
4
=
????
1
+ ????
3
2
=
1 + 0,85
2
= 0,925
f(0,925) = + 0,39;
Таблица 1.1
Шаг х
f(x)
Ошибка ɛ
1
0.4
- 1.246
2
1
1
-0.6
3
0.7
- 0.774
-0,3
4
0.85
- 0.1
0,075
5
0.925
0.39
0,0375
6
0.8875
0.131
-0,0188
7
0.8687
0.012
0,009325
8
0.859375
- 0.044615
0,004625
9
0.8640
-0.017
-0,0023
10
0.8663
-0.0023
0,00088375
x = 0.8663
Метод секущих (хорд)
В этом методе кривая f(x) заменяется прямой линией – хордой,
стягивающей точки (a, f(a)) и (b, f(b)). В зависимости от знака выражения
f(a)*f
//
(a) метод хорд имеет два варианта, изображенных на рис. 1.2 а, б.
9
а) б)
Рисунок 1.2 Графическая интерпретация метода хорд: а) F(a)F
//
(a)>0 б)
F(a)F
//
(a)<0
Пусть f(a)*f
//
(a)>0 (рис.2а). Тогда x
0
=b, точка a будет оставаться неподвижной.
Следующее приближение x
1
находим как точку пересечения хорды,
соединяющей точки (a, f(a)) и (x
0
, f(x
0
)) с осью x.
В аналитической геометрии выводится формула, задающая уравнение
прямой, проходящей через две точки с координатами (х1; у1) и (х2; у2):
???? = ???? ????
1
+
???? ????
2
− ???? ????
1
????
2
− ????
1
(???? − ????
1
)
Таким образом, для f(a)*f
//
(a)>0 точка пересечения хорды с осью x:
????
1
= ???? −
???? ???? ∗ (????
0
− ????)
???? ????
0
− ???? ????
На следующей итерации в качестве x
0
надо взять вычисленное значение x
1
.
????
????+1
= ???? −
???? ???? ∗ (????
????
− ????)
???? ????
????
− ???? ????
Пусть теперь f(a)f
//
(a)<0 (рис.2б). Тогда x
0
=a, точка b неподвижна. Проведем
хорду, соединяющую точки (b, f(b)) и (x
0
, f(x
0
)):
???? = ???? ????
0
+
???? ???? − ???? ????
0
???? − ????
0
(???? − ????
0
)
Вычисляем точку пересечения хорды с осью x: .
????
1
= ????
0
−
???? ????
0
∗ (???? − ????
0
)
???? ???? − ???? ????
0
На следующей итерации в качестве x
0
надо взять вычисленное значение x
1
????
????+1
= ????
????
−
???? ????
????
∗ (???? − ????
????
)
???? ???? − ???? ????
????
Повторять операцию следует до тех пор, пока xi-xi-1<
не станет меньше
10
или равно заданному значению погрешности.
Пример
Методом секущих (хорд) уточнить корень уравнения лежащий на отрезке
0,1
с точностью до 0,001.
???? ???? = ????
4
+ 2????
3
− ???? − 1 = 0
Решение:
???? 0 = −1; ???? 1 = 1; ????
/
= 4????
3
+ 6????
2
− 1 > 0 при ???? ∈ 0,1
следовательно, на отрезке 0.4,1 расположен один корень.
Воспользуемся формулой
???? = ???? −
???? − ????
???? ???? − ???? ????
∗ ???? ????
????
1
= ???? −
???? − ????
???? ???? − ???? ????
∗ ???? ???? = 0.4 −
1 − 0.4
1 − (−1.246)
= 0.733
???? ????
1
= ???? 0.733 = −0.657
????
2
= ????
1
−
???? − ????
1
???? ???? − ???? ????
1
∗ ???? ????
1
= 0.839
???? ????
2
= −0.16232
????
3
= ????
2
−
???? − ????
2
???? ???? − ???? ????
2
∗ ???? ????
2
= 0.86148
???? ????
3
= −0.03201