Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 5.doc
Скачиваний:
14
Добавлен:
09.02.2015
Размер:
1.34 Mб
Скачать

Алгоритмы нахождения корней уравнений.

Решение алгебраических уравнений численными методами состоит из двух этапов:

отделение корней, т. е. отыскание достаточно малых интервалов (a,b), в каждом из которых заключен один и только один корень;

вычисление (уточнение) корняс заданной погрешностью.

Рассмотрим более подробно алгоритмы для уточнения корней.

Метод половинного деления

Метод половинного деленияявляется более универсальным, всегда приводит к искомому результату, хотя и требует большого объема вычислений. Для нахождения корня уравненияf(x)=0, принадлежащего отрезку [a, b], делим отрезок пополамz = (a+b)/2 (см. рис. 5.12,а). Далее рассмотрим значения функцииy =f(x) в точкахx =aиx =z. Если значенияf(a) иf(z) разных знаков, т. е.f(a) f(z) < 0, то исходный отрезок [a, b] уменьшим в два раза путем переноса точкиx=b в точкуx = z. Новый отрезок [a, b] вновь делим пополам (см. рис. 5.12,б) и так какf(a) f(z) < 0, то переносим точкуx =aв точкуx =z, уменьшая [a, b] в два раза. Повторяем указанную процедуру до тех пор, пока длина отрезка, содержащего корень, не станет меньше заданной погрешности ε. Любое значениеявляется искомым значением корня, однако на практике в качестве корня выбирают середину отрезка, т. е.x = (a+b)/2.

При организации итерационного цикла вычисляется последовательность отрезков

[a0,b0], [a1,b1], …, [an,bn], … ,

для которой

Для контроля точности вычисления корня можно использовать следующую последовательность значений

поэтому условие выхода из цикла

или условие продолжения цикла

СAutoShape 379хема алгоритма уточнения корня алгебраического уравнения методом половинного деления приведена на рис. 5.13. В результате выполнения такого алгоритма выводится значение корня (с заданной погрешностью), а также значение функцииf(x), которое очень близко к нулевому значению и может быть использовано для контроля правильности полученного результата.

AutoShape 380

Group 381y

f(z)

  1. a

x* z b

f(a)

a)

y

y=f(x)

0 a x*

f(z) z b x

f(a)

b)

Рис. 5.12 Графическая иллюстрация

метода половинного деления

Group 483

Метод касательных

Для обеспечения сходимости метода касательных(метода Ньютона) необходимо, чтобы производныеf' (x) и f" (x) были определены, непрерывны и сохраняли постоянные знаки на отрезке [a, b]. На рис. 5.14 представлена геометрическая интерпретация метода Ньютона.

Выберем некоторую точку x0на отрезке [a, b] и проведем касательную к кривойy=f(x) в точкеP0(x0,y0). Ее уравнение

y=y0+f' (x0)(xx0),

где y0=f(x0).

Новое приближение корня х1, равно абсциссе точки пересечения касательной с осью абсцисс, т. е.

yGroup 522

y0

y1

y2

Выберем некоторую точку x0на отрезке [a, b] и проведем касательную к кривойy=f(x) в точкеP0(x0,y0). Ее уравнение

y=y0+f' (x0)(xx0),

где y0=f(x0).

Новое приближение корня х1, равно абсциссе точки пересечения касательной с осью абсцисс, т. е.

Проведя касательную через точку P1(x1,y1), получим второе приближение корняx2. Вычисление приближений корня по формуле

продолжается до выполнения неравенства

,

где ε – абсолютная погрешность определения корня уравнения.

Начальное приближение х0 выбирают таким образом, чтобы выполнялось условие

В противном случае сходимость метода Ньютона не гарантируется. На практике выбирают x0=a илиx0=b, в зависимости от того, в какой из этих точек выполняется указанное условие. Схема алгоритма уточнения корня методом Ньютона (методом касательных) приведена на рис. 5.15.

Group 541