Оценки корней алгебраических уравнений.



Эти теоремы только для алгебраических уравнений (не для трансцендентных)! Т.е. для полиномов Pn(x)=A0*x^n + A1*x^ (n-1)+...+An-1*x+An=0. Такое уравнение содержит n корней (кратных, комплексных, действительных и т.д.)

 

Теорема 1. Все корни Xn в комплексной плоскости лежат в кольце r<|Xn|<R, где r=1+A/|a0|, R=1/(1+B/|an|)

A=max{|a0|,|a1|,...,|an|}

B=max{|a1|,...,|an-1|}

 

Теорема 2 (Лагранжа). При a0>0 и ak первом отрицательном аргументе полинома, верхняя граница положительных корней X<1+корень степени k из B/|a0|, B=max|ai|, ai - все отрицательные аргументы

 

Теорема 3 (Ньютона). При x=Z если значения полинома и его производных положительны, то Z можно принять за верхнюю границу положительных корней.

 

Теорема 4 (Декарта). Число положительных корней равно числу перемене знаков в полиноме. Если в P(-x) нет перемен знаков, то нет отрицательных корней.

 

Теорема 5 (Гюа). Если Ak^2>Ak-1 * Ak+1, k=1,2...n-1, то полином не имеет комплексных корней

 

 

Основные методы уточнения корней уравнения (дихотомии, хорд, касательных, простой итерации).

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

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

 

Метод хорд.

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

Наш интервал [a,b]. Строят хорду, которая соединяет две точки (a,f(a)) и (b, f(b)). Точка пересечения этой хорды с осью Х будет очередным приближением к нашему корню, т.е. тут мы интервал не пополам делим, а находим точку, где хорда эта пересекается с осью Х. Найти эту точку можно по формуле:

Z=(a*f (b)-b*f (a))/(f(b)-f(a))

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

Эти методы хорошие, но не всегда. Кратные корни они не найдут

 

     

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

 

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

 

Один из самых популярных итерационных методов это Метод Ньютона-Рафсона или если проще Метод касательных.

 

Метод заключается в том, что мы строим к графику функции касательную в точке, которую мы выбрали за приближение и потом итеративно мы сдвигаемся все ближе к истинному значению корня по мере убывания функции (потому что нам надо найти где график пересекает ось Х). На каждой итерации мы ищем новую точку приближения и строим новую касательную. Касательные нужны для графического решения, чтобы вычислять тангенс угла наклона касательной, ведь насколько вы помните это и есть производная функции, но так как мы решаем не графически, а аналитически, то для нахождения координат очередной точки приближения у нас есть формула как раз-таки с использованием производной:

X[n+1]=X[n]-(f(X[n])/(f`(X[n])

Ну вот так мы и считаем пока не достигнем точности, т.е. в условие цикла ставим погрешность. Например относительную, while |(X[n+1]-X[n])/X[n+1]|>0.0001

 

Но все может разойтись , у вас все зациклится. Поэтому нужно правильно выбрать начальную точку приближения. В общем чтобы правильно подобрать начальное приближение, нужно чтобы соблюдалось вот это условие f(x0)*f``(x0)>0. x0 надо выбирать из того самого интервала, который мы отделили на этапе отделения корней, и понятное дело функция на этом интервале должна быть непрерывна и непрерывно дифференцируема (т.е. ее производные тоже там должны быть непрерывны).

 

     

Метод простой итерации.

 

Здесь нам нужно заменить нашу исходную функцию f(x) эквивалентной ей функцией g(x)=x. И, так как это тоже итерационный метод, нам нужно выбрать начальное приближение и в цикле приближаться к корню по формуле:

Xn+1=g(Xn)

Например, есть f(x)=10*x^2 - 5*x + x, заменяем на g(x). Заменять нужно так, чтобы мы выразили чисто Х, вот например x=5*x - 10*x^2. Это и есть g(x)=5*x - 10*x^2. Теперь выбираем начальную точку и считаем до определенной точности.

Условия сходимости: нужно правильно подбирать точки. Необходимым условием сходимость будет |g`(x)|<1, если больше, то погрешность будет все расти и расти, а это значит, что мы идем не в сторону корня совсем и никогда его не найдем.

 

Если f`(x)>0, то можно найти максимум и построить сходящийся итерационный процесс немного по другой формуле:

Xn+1=Xn-f(Xn)/M, где M - максимум

 


Дата добавления: 2018-02-18; просмотров: 562; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!