Информатика_Методы
.pdf21.01.2013
2 ЭТАП. УТОЧНЕНИЕ КОРНЕЙ
Для уточнения приближенного значения корня до желаемой погрешности применяют несколько вычислительных методов (метод половинного деления, метод хорд, метод касательных, метод простой итерации).
31
31
21.01.2013
МЕТОД ПОЛОВИННОГО ДЕЛЕНИЯ
(МЕТОД ДИХОТОМИИ)
Пусть на отрезке [a, b] существует единственный корень уравнения
f(x) = 0,
т. е. функция f(x) непрерывна и монотонна на отрезке [a, b], ее значения на концах отрезка имеют разные знаки.
Требуется вычислить корень с заданной погрешностью ε.
32
32
21.01.2013
ИДЕЯ МЕТОДА ПОЛОВИННОГО
ДЕЛЕНИЯ
Отрезок [a, b], содержащий единственный корень последовательно делят на две половины, отбрасывая ту из них, где нет корня. Процесс продолжают до тех пор, пока длина отрезка не станет меньше заданной погрешности ε.
33
33
21.01.2013
|
начало |
|
ввод |
|
a, b, |
|
x a b |
|
2 |
да |
нет |
|
f (a) f ( x) 0 |
b = x |
|
a = x |
||
|
|
|
|
|
|
|
|
|
|
нет |
|b - a|< |
|
|
|
да |
|
x a b |
|
2 |
|
x |
|
конец |
Алгоритм метода половинного деления
34
34
21.01.2013
Пример. Уточнить корень уравнения
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.
35
35
21.01.2013
Достоинство: Метод половинного
деления прост и надежен, всегда сходится к решению независимо
от вида функции f(x).
Недостаток: Самый медленный
из всех известных методов
уточнения корня.
36
36
21.01.2013
МЕТОД ХОРД
Требуется вычислить корень уравнения f(x) = 0 на отрезке [a, b] с заданной погрешностью ε.
Геометрически метод основан на построении последовательности хорд (хорда - прямая, соединяющая две точки кривой).
37
37
21.01.2013
y |
|
|
|
|
y |
|
|
|
|
|
|
A |
|
|
|
|
|
|
B |
|
|
|
x3 x2 x1 |
b x0 |
|
a x0 |
x1 |
x2 x3 |
b |
o |
a |
|
|
x |
o |
|
|
|
x |
|
f(x) |
|
B |
|
A |
|
|
|
|
|
а) |
|
|
|
|
б) |
|
||
|
|
|
|
|
|
|
|
||
|
|
|
Уравнение хорды |
AB: |
|
|
|
||
|
|
|
|
y f (a) |
x a |
|
|
|
|
|
|
|
f (b) f (a) |
b a |
|
|
|
||
|
|
|
|
|
|
|
|
|
38 |
38
21.01.2013
В данном методе процесс итераций состоит в том, что в качестве приближений к корню уравнения
f (x) = 0
принимаются значения х1, х2, ..., хn точек пересечения хорды АВ с осью абсцисс.
39
39
21.01.2013
Если f (а) > 0 (рисунок а), то левая
граница a неподвижна, |
x0 = b и из |
|||||||
уравнения хорды получим |
||||||||
x |
|
x |
|
f ( xi |
) |
x |
a , |
i 0, 1, 2, ... |
i 1 |
|
|
||||||
|
i |
|
f ( xi ) f (a) |
i |
|
|
||
|
|
|
|
|
|
|
Если f (а) < 0 (рисунок б), то правая
граница b неподвижна, |
x0 = a и |
||||||
xi 1 |
xi |
|
f ( xi ) |
|
b xi |
|
|
f (b) f ( xi |
) |
||||||
|
|
|
|
|
40
40