Смекни!
smekni.com

Приближённые методы решения алгебраического уравнения (стр. 1 из 4)

Реферат по курсу численных методов выполнил студент группы РЭ–01-1

Днепропетровский Национальный Университет

Радиофизический факультет

Кафедра физики СВЧ

Днепропетровск 2002

1. Численное решение уравнений с одним неизвестным

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

f(x)=0 (1.1)

на заданном отрезке [a, b].

Уравнение называется алгебраическим, если заданная функция есть полином n-ой степени:

f(x) = P(x) = a0xn + a1xn- 1 + … + an-1 x + an = 0, a0 ¹ 0

Требование a0 ¹ 0 обязательно, так как при невыполнении этого условия данное уравнение будет на порядок ниже.

Всякое уравнение (1.1) называется трансцендентным, если в нём невозможно явным образом найти неизвестное, а можно лишь приближённо.

Однако в число алгебраических уравнений можно также включить те уравнения, которое после некоторых преобразований, можно привести к алгебраическому.

Те методы, которые здесь рассматриваются, применимы, как к алгебраическим уравнениям, так и к трансцендентным.

Корнем уравнения (1.1) называется такое число x, где f(x)=0.

При определении приближённых корней уравнения (1.1) необходимо решить две задачи:

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

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

Первую задачу можно решить, разбив данный промежуток на достаточно большое количество промежутков, где бы уравнение имело ровно один корень: на концах промежутков имело значения разных знаков. Там где данное условие не выполняется, те промежутки откинуть.

Вторая задача решается непосредственно в методах рассмотренных ниже.

При графическом отделении корней уравнения (1.1) нужно последнее преобразовать к виду:

j1(x)=j2(x) (2.1)

и построить графики функций y1=j1(x), y2=j2(x).

Действительно, корнями уравнения (1.1)

f(x) = j1(x) - j2(x) = 0

являются абсциссы точек пересечения этих графиков (и только они).

Из всех способов, какими можно уравнение (1.1) преобразовать к виду (2.1) выбираем тот, который обеспечивает наиболее простое построение графиков y1=j1(x) и y2=j2(x). В частности можно взять j2(x) = 0 и тогда придём к построению графика функции (1.1), точки пересечения которого с прямой y2=j2(x)=0, т. е. с осью абсцисс, и есть искомые корни уравнения (1.0).

Условия, наложенные на функцию f(x) на отрезке [a, b].

Будем предполагать, что функция f(x) непрерывна на отрезке [a, b] (для метода хорд можно потребовать на интервале) и имеет на этом интервале первую и вторую производные, причём обе они знакопостоянны (в частности отличны от нуля). Будем также предполагать, что функция f(x) принимает на концах отрезка значения разного знака. В силу знакопостоянства первой производной функция f(x) строго монотонна, поэтому при сделанных предположениях уравнение (1.1) имеет в точности один корень на интервале (a, b).

2. Метод дихотомии

Этот метод ещё называется методом вилки.

Нам необходимо найти корень уравнения (1.1) на отрезке [a, b]. Рассмотрим отрезок [x0, x1]: [x0, x1]Ì[a, b]. Пусть мы нашли такие точки х0, х1, что f (х0) f(х1) £ 0, т. е. на отрезке [х0, х1] лежит не менее одного корня уравнения. Найдём середину отрезка х2=(х01)/2 и вычислим f(х2). Из двух половин отрезка выберем ту, для которой выполняется условие

f (х2) f(хгран.) £ 0, так как один из корней лежит на этой половине. Затем новый отрезок делим пополам и выберем ту половину, на концах которой функция имеет разные знаки, и т. д. (рис 1.2).

рис. 1.2

Если требуется найти корень с точностью Е, то продолжаем деление пополам до тех пор, пока длина отрезка не станет меньше 2Е. Тогда середина последнего отрезка даст значение корня с требуемой точностью. Дихотомия проста и очень надёжна. К простому корню она сходится для любых непрерывных функций в том числе и не дифференцируемых; при этом она устойчива к ошибкам округления. Скорость сходимости не велика; за одну итерацию точность увеличивается примерно вдвое, т. е. уточнение трёх цифр требует 10 итераций. Зато точность ответа гарантируется.

Приступим к доказательству того, что если непрерывная функция принимает на концах некоторого отрезка [a, b] значения разных знаков, то методом дихотомии однозначно будет найден корень.

Предположим для определённости, что функция f(x) принимает на левом конце отрезка [a, b] отрицательное значение, а на правом – положительное:

f(a) < 0, f(b) > 0.

Возьмём среднюю точку отрезка [a, b], h=(a+b)/2 и вычислим значение в ней функции f(x). Если f(h)=0, то утверждение теоремы доказано: мы нашли такую точку, где функция обращается в нуль. Если f(h)¹ 0, тогда из отрезков [a, h] и [h, b] выберем один из них тот, где функция на его концах принимает значения разных знаков. Обозначим его [a1, b1]. По построению: f(a1)<0, f(b1)>0. Затем среднюю точку отрезка [a1, b1] точку h1 и проведём тот же алгоритм нахождения другого отрезка [a2, b2] где бы по построению f(a2)<0, f(b2)>0. Будем продолжать этот процесс. В результате он либо оборвётся на некотором шаге n в силу того, что f(hn)=0, либо будет продолжаться неограниченно. В первом случае вопрос о существовании корня уравнения f(x)=0 решён, поэтому рассмотрим второй случай.

Неограниченное продолжение процесса даёт последовательность отрезков [a, b], [a1, b1], [a2, b2],… Эти отрезки вложены друг в друга – каждый последующий отрезок принадлежит всем предыдущим:

an £ an+ 1 < bn+ 1 £ bn (1.2)

причём:

f(an) < 0, f(bn) > 0

Длины отрезков с возрастанием номера n стремятся к нулю:

Рассмотрим левые концы отрезков. Согласно (1.2) они образуют монотонно убывающую ограниченную последовательность {an}. Такая последовательность имеет предел, который можно обозначить через c1:

Согласно (1.1) и теореме о переходе к пределу в неравенствах имеем:

c1 £ bn (2.2)

Теперь рассмотрим правые концы отрезков. Они образуют монотонно не возрастающую ограниченную последовательность {bn}, которая тоже имеет предел. Обозначим его через с2:

. Согласно неравенству (2.1) пределы с1 и с2 удовлетворяют неравенству с1 £ с2. Итак, an £ с1 < с2 £ bn, и следовательно:

с21 £ bn - an=(b-a)/2n.

Таким образом, разность с21 меньше любого наперёд заданного положительного числа. Это означает, что с21=0, т. е.: с12

Найденная точка интересна тем, что она является единственной общей точкой для всех отрезков построенной последовательности Используя непрерывность функции f(x), докажем, что она является корнем уравнения f(x)=0.

Мы знаем, что f(an)<0. Согласно определению непрерывности и возможности предельного перехода в неравенствах, имеем:

f(c)=lim f(an)£0 (3.2)

Аналогично, учитывая, что f(bn)³0, получаем, что:

f(c)=lim f(bn) ³0 (4.2)

Из (3.2) и (4.2) следует, что f(c)=0. т. е. с – корень уравнения.

Процесс построения последовательности вложенных стягивающих отрезков методом вилки (дихотомии) является эффективным вычислительным алгоритмом решения уравнения f(x)=0. На n-ом шаге процесса получаем:

an £ c £ bn

Это двойное неравенство показывает, что число an определяет корень с недостатком, а число bn с избытком, с ошибкой не превышающей длину отрезка Dn=bn-an=(b-a)/2n. При увеличении n ошибка стремится к нулю по закону геометрической прогрессии со знаменателем q=0.5. Если задана требуемая точность e>0, то чтобы её достигнуть достаточно сделать число шагов N, не превышающее log2[(b-a)/e]: N>log2[(b-a)/e].

3. Метод итераций

Этот метод называется ещё методом последовательных приближений.

Пусть нам необходимо найти корень уравнения (1.1) на некотором отрезке [a, b].

Предположим, что уравнение (1.0) можно переписать в виде:

x=j(x) (1.3)

Возьмём произвольное значение x0 из области определения функции j(x) и будет строить последовательность чисел {xn}, определённых с помощью рекуррентной формулы:

xn +1=j(xn), n=0, 1, 2, … (2.3)

Последовательность {xn} называется итерационной последовательностью. При её изучении встают два вопроса:

Можно ли процесс вычисления чисел xn продолжать неограниченно, т. е. будут ли числа xn принадлежать отрезку [a, b] ?

Если итерационный процесс (2.3) бесконечен, то как ведут себя числа xn при n®¥

Исследование этих вопросов показывает, что при определённых ограничениях на функцию j(x) итерационная последовательность является бесконечной и сходится к корню уравнения (1.3).

, c=j(c) (3.3)

Однако для того, чтобы провести это исследование нам нужно ввести новое понятие.

Говорят, что функция f(x) удовлетворяет на отрезке [a, b] условию Липшица, если существует такая постоянная a, что для любых x1, x2, принадлежащих отрезку [a, b] имеет место неравенство:

| f(x1) - f(x2)| £ a|x1 - x2| (4.3)

Величину a в этом случае называют постоянной Липшица.

Если функция f(x), удовлетворяет на отрезке [a, b] условию Липшица, то она непрерывна на нём. Действительно, пусть x0 – произвольная точка отрезка. Рассмотрим приращение функции f(x) в этой точке: