- •Глава 2
- •2.1. Введение
- •Относительные и абсолютные ошибки
- •2.3. Ошибки, содержащиеся в исходной информации
- •2.4. Ошибки ограничения
- •2.5. Ошибки округления
- •2.6. Распространение ошибок
- •2 .7. Графы вычислительных процессов
- •Пример 1
- •2.9. Памятка программисту
- •Упражнения
- •Численное решение уравнений
- •5.1. Введение
- •5.2. Метод последовательных приближений
- •5.3.Усовершенствованный метод последовательных приближений
- •5.4. Метод ньютона — рафсона
- •5.5. Случай почти равных корней
- •5.6. Сравнение методов и их ошибок округления
- •5.7. Корни многочленов
- •5.8. Влияние неточности коэффициентов многочлена
- •5.9. Системы уравнений
- •5.10. Комплексные корни
- •5.11. Нахождение исходного приближения
- •Упражнения
- •Глава 8
- •8.1. Введение
- •8.3. Ошибки округления
- •8.5. Влияние погрешностей коэффициентов. Достижимая точность решения
- •8.6. Итерационные методы решения систем линейных уравнений
- •8.7. Сравнение методов
- •8.8. Практический пример 10: проведение кривой методом наименьших квадратов
- •Лекция №1 Численное интегрирование
- •Лекция №2
- •Правило Симпсона.
- •Метод Гаусса
- •Методы прогноза и коррекции
- •Анализ ошибок при использовании метода прогноза и коррекции
5.6. Сравнение методов и их ошибок округления
Так как метод Ньютона — Рафсона сходится гораздо быстрее, чем метод последовательных приближений, возникает вопрос, почему все же используется и тот и другой. Дело в том, что при использовании метода Ньютона — Рафсона при каждой очередной итерации требуется вычислять не только функцию, но и ее производную. Эти вычисления могут оказаться трудными, длительными или даже вообще невозможными. Например, функция f(x) может быть задана не формулой, а таблицей значений. Производная может даже не существовать в некоторых точках. В таких случаях часто применяется метод последовательных приближений или различные его модификации.
Другими словами, выбор метода зависит от конкретного вида функции f(x) или F(x).
Интересно и важно отметить тот факт, что ошибка округления не накапливается при использовании итерационных методов решения уравнений. Общая ошибка округления равна ошибке, возникшей в последней итерации, и не зависит от арифметических операций, выполнявшихся в предыдущих итерациях. Это общее свойство всех итерационных методов; оно является одним из важнейших преимуществ итерационных методов перед всеми другими. Причина того, что ошибки округления не накапливаются, ясна — каждое новое приближение, включая и предпоследнее, можно рассматривать как исходное приближение. Ошибка округления при вычислении последнего приближения зависит, таким
Р и с. 5.10. Граф вычислительного процесса для метода Ньютона -Рафсона.
образом, только от арифметических операций, с помощью которых это последнее приближение получается из предпоследнего.
Граф вычислительного процесса для метода Ньютона — Рафсона изображен на рис. 5.10. Исходная ошибка в xn отсутствует: можно считать, что xn представляется в виде бесконечной десятичной дроби, которая содержит одни нули, начиная с некоторой цифры. При вычислении F(xn) и F'(xn) появляются относительные ошибки округления; назовем их соответственно r и r’. Обозначим относительную ошибку округления при делении и при вычитании соответственно через d и s. Тогда абсолютная ошибка округления при вычислении xn+1 будет равна
В большинстве случаев общая ошибка определяется неточностью r и r' при вычислении F(xn) и F'(xn).
Рассмотрим
практически важный случай, когда
F(x)
представляет
собой многочлен степени т
F(x)
= a0+a1x+a2x2+...+аmxm.
(5.16)
Применим
метод Ньютона—Рафсона
согласно формуле (5.15).
Вычисление
F(xn)
по правилу Горнера было изложено в
разд.
3.4. Имея
рекуррентные формулы
5.7. Корни многочленов
находим
F(xn) = b0.
Но, согласно формуле (3.11) из разд. 3.4,
F (х) ==(x—xn)G (x) +b0, где
G(x) = b1+b2x+...+bmxm-1.
Поэтому
F' (x) =(x - xn)G'(x) + G (x). Следовательно, F'(xn) = G(xn).
Но ведь G(x) является многочленом степени т—1,так что, используя правило Горнера, можно вычислить G(xn) и таким образом найти F'(xn). Воспользовавшись теми же рекуррентными формулами, имеем
и
соответственно
F'(xn)=G(xn)=c1.
П
одставляя
найденные значения
F
(xn)
и
F'
(xn)в
формулу
(5.15) для
метода Ньютона—Рафсона,
получаем
b0 и c1 вычислены здесь по формулам (5.17) и (5.18). Этот метод нахождения корней полиномов часто называют методом Бирге—Виета.
Пример Задан многочлен
F(x) = x3 — x — 1.
Требуется найти корень, расположенный вблизи x0 = 1.3. Последовательность вычислений приводится в табл. 5.1.
Таблица 5.1
i |
ai |
bi |
ci |
3 |
1 |
1 |
1 |
2 |
0 |
1.3 |
2.6 |
1 |
-1 |
0.69 |
4.07 |
0 |
-1 |
-0.103 |
|
i |
ai |
Bi |
ci |
3 |
1 |
1 |
1 |
2 |
0 |
1.325 |
2.65 |
1 |
-1 |
0.755625 |
4.267 |
0 |
-1 |
0.001203 |
|
i |
ai |
bi |
Ci |
3 |
1 |
1 |
1 |
2 |
0 |
1.324718 |
2.649436 |
1 |
-1 |
0.154878 |
4.264634 |
0 |
-1 |
0.0000004 |
|
Из таблицы видно, что х2 и x3 совпадают с точностью до седьмого знака; поэтому x3 имеет по крайней мере семь достоверных значащих цифр и почти наверняка больше. Дальнейшее рассмотрение методов нахождения корней многочленов продолжается в практическом примере 7.
