Приблизительное нахождение корней уравнений
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ
ИНСТИТУТ ИМЕНИ М.Е.ЕВСЕВЬЕВА»
ФИЗИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА МАТЕМАТИКИ
КУРСОВАЯ РАБОТА
по математике
на тему:
Приблизительное нахождение корней уравнений
Автор курсовой работы: Д.С. Гусев, студент 3 курса группы МДИ-109 очной формы обучения.
Специальность: «Информатика» с дополнительной специальностью «Математика»
Руководитель: И.В. Кочетова
Саранск 2012
Содержание
- Введение
- Численное решение уравнения, условия, наложенные на функцию, графический метод определения корней
- Метод дихотомии
- Метод итераций
- Быстрота сходимости процесса итераций
- Метод касательных
- Первые приближения для метода касательных
- Метод секущих
- Метод хорд
- Усовершенствованный метод хорд
- Комбинированный метод решения уравнения
- Заключительные замечания
- Список использованной литературы
Введение
Если
квадратные уравнения решали
уже древние греки, то способы
решения алгебраических
В отношении
алгебраических уравнений
х5-4х-2=0
Сказанное,
однако, не означает отсутствия
в науке методов решения уравне
2. Численное решение уравнений с одним неизвестным
В данной
работе рассматриваются метода
приближённого вычисления
на заданном отрезке [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) нужно последнее преобразовать к виду:
и построить графики функций 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) принимает на концах отрезка значения разного знака. В силу знакопостоянства первой производной функция f(x) строго монотонна, поэтому при сделанных предположениях уравнение (1.1) имеет в точности один корень на интервале (a, b).
3. Метод дихотомии
Этот метод ещё называется методом вилки.
Нам необходимо найти корень уравнения (1.1) на отрезке [a, b]. Рассмотрим отрезок [x0, x1]: [x0, x1]Ì[a, b]. Пусть мы нашли такие точки х0, х1, что f (х0) f(х1) £ 0, т. е. на отрезке [х0, х1] лежит не менее одного корня уравнения. Найдём середину отрезка х2=(х0+х1)/2 и вычислим f(х2). Из двух половин отрезка выберем ту, для которой выполняется условие
f (х2) f(хгран.) £ 0, так как один из корней лежит на этой половине. Затем новый отрезок делим пополам и выберем ту половину, на концах которой функция имеет разные знаки, и т. д. (рис 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],… Эти отрезки вложены друг в друга – каждый последующий отрезок принадлежит всем предыдущим:
причём:
f(an) < 0, f(bn) > 0
Длины отрезков с возрастанием номера n стремятся к нулю:
Рассмотрим левые концы отрезков. Согласно (1.2) они образуют монотонно убывающую ограниченную последовательность {an}. Такая последовательность имеет предел, который можно обозначить через c1:
Согласно (1.1) и теореме о переходе к пределу в неравенствах имеем:
Теперь рассмотрим
правые концы отрезков. Они образуют
монотонно не возрастающую
с2-с1 £ bn - an=(b-a)/2n.
Таким образом, разность с2-с1 меньше любого наперёд заданного положительного числа. Это означает, что с2-с1=0, т. е.: с1=с2=с
Найденная точка интересна тем, что она является единственной общей точкой для всех отрезков построенной последовательности Используя непрерывность функции f(x), докажем, что она является корнем уравнения f(x)=0.
Мы знаем, что f(an)<0. Согласно определению непрерывности и возможности предельного перехода в неравенствах, имеем:
Аналогично, учитывая, что f(bn)³0, получаем, что:
Из (3.2) и (4.2) следует, что f(c)=0. т. е. с – корень уравнения.
Процесс построения последовательности вложенных стягивающих отрезков методом вилки (дихотомии) является эффективным вычислительным алгоритмом решения уравнения f(x)=0. На n-ом шаге процесса получаем:
an £ c £ bn
Это
двойное неравенство
4. Метод итераций
Этот метод называется ещё
методом последовательных
Пусть нам необходимо найти корень уравнения (1.1) на некотором отрезке [a, b].
Предположим, что уравнение (1.
Возьмём произвольное значение x0 из области определения функции j(x) и будет строить последовательность чисел {xn}, определённых с помощью рекуррентной формулы:
Последовательность {xn} называется итерационной последовательностью. При её изучении встают два вопроса:
- Можно ли процесс вычисления чисел xn продолжать неограниченно, т. е. будут ли числа xn принадлежать отрезку [a, b] ?
- Если итерационный процесс (2.3) бесконечен, то как ведут себя числа xn при n®¥
Исследование этих вопросов показывает, что при определённых ограничениях на функцию j(x) итерационная последовательность является бесконечной и сходится к корню уравнения (1.3).
Однако для того, чтобы провести это исследование нам нужно ввести новое понятие.
Говорят, что функция f(x) удовлетворяет на отрезке [a, b] условию Липшица, если существует такая постоянная a, что для любых x1, x2, принадлежащих отрезку [a, b] имеет место неравенство:
Величину a в этом случае называют постоянной Липшица.
Если функция f(x), удовлетворяет на отрезке [a, b] условию Липшица, то она непрерывна на нём. Действительно, пусть x0 – произвольная точка отрезка. Рассмотрим приращение функции f(x) в этой точке:
Df=f(x0+Dx) – f(x0)
и оценим его с помощью неравенства (4.3)
|Df | £ a|Dx|
Таким образом, , что означает непрерывность функции f(x).
Условие
Липшица имеет простой
y=f(x1) + k(x-x1)
где k– тангенс угла наклона прямой у оси Оx и определяется формулой:
Если функция f(x) удовлетворяет на отрезке [a, b] условию Липшица, то при произвольном выборе точек M1 и M2 имеем |k|£a. Таким образом, с геометрической точки зрения условие Липшица означает ограниченность тангенса угла наклона секущих, проведённых через всевозможные пары точек графика функции y=f(x).
рис 2.3
геометрическая иллюстрация
условия Липшица.
Предположим, что функция f(x) имеет на отрезке [a, b] ограниченную производную:
| f ¢(x)| £ m; тогда она удовлетворяет условию Липшица с постоянной a=m. Для доказательс- тва этого утверждения воспользуемся формулой конечных приращений Лагранжа:
где x1, x2, - произвольные точки отрезка [a, b] x, - некоторая точка отрезка [x1, x2]. Возьмём модуль обеих частей равенства (4.3) и заменим в правой части | f ‘(x)| на m. В результате по- лучим неравенство (4.3) с a=m. Рис.2.3 даёт геометрическую иллюстрацию установленного свойства. Согласно формуле Лагранжа (5.3) каждой секущей графика функции y = f(x) мож- но поставить в соответствие параллельную её касательную. Поэтому наибольший тангенс угла наклона касательных, и его можно оценить той же константой m: |k| £ m.
Познакомившись с условием Липшица, перейдём к изучению итерационной последовательности, предполагая, что уравнение имеет корень x=c. Существование этого корня можно установить с помощью качественного предварительного исследования уравнения с применением теоремы о существовании корня непрерывной функции.
Теорема о существовании корня непрерывной функции
Если функция f(x) непрерывна на отрезке [a, b] и принимает на его концах значения разных знаков, то на этом отрезке существует, по крайней мере, один корень уравнения f(x).
Теорема о сходимости итерационной последовательности
Пусть с – корень уравнения (2.3) и пусть функция j(x) удовлетворяет на некотором отрезке [c-d, c+d] (d>0) условию Липшица с постоянной a<1. Тогда при любом выборе x0 на отрезке [c-d, c+d] существует бесконечная итерационная последовательность {xn} и эта последовательность сходится к корню x=c, который является единственным решением уравнения (1.3) на отрезке [c-d, c+d].
Сформулированная теорема имеет очень простой смысл. Будем говорить, что функция j осуществляет отображение точки x на точку y=j(x). Тогда условие Липшица с постоянной a<1 означает, что отображение j является сжимающим: расстояние между точками x1 и x2 больше, чем расстояние между их изображениями y1=j(x1) и y2=j(x2).
Корень c является неподвижной точкой отображения j, он преобразуется сам в себя c=j(c). Поэтому каждый шаг в итерационном процессе, сжимая расстояния должен приближать члены последовательности {xn} к неподвижной точке c.
После таких
соображений поясняющих смысл
теоремы, перейдём к её
Вычислим x1: x1=j(x0), при этом x1-c =j(x0)-j(c). Разность j(x0)-j(c) можно оценить с помощью условия Липшица:
Неравенство (6.3) показывает, что x1 принадлежит отрезку [c-d, c+d] и расположен ближе к точке c, чем x0.
Продолжим
построение итерационной
|x2-c| = |j(x1)-j(c)| £ a|x1-c| £ a2|x0-c| £ a2d
Точка x2 опять принадлежит отрезку [c-d, c+d] и расположена ближе к точке c, чем точка x1, т.е. мы приблизились к c.
По индукции легко доказать, что последующие итерации также существуют и удовлетворяют неравенствам.
Отсюда следует, что:
Остаётся доказать, что корень x=c (1.3) является единственным решением уравнения на отрезке [c-d, c+d]. Действительно, допустим, что существует ещё один корень x=c1.
Примем c1 за нулевое приближение и будем строить итерационную последователь- ность (2.3). Тогда с учётом (7.3) получим xn=c1 (n=0, 1, 2, …). С другой стороны, по доказанному , т. е. c1=c. Никаких других решений уравнение на отрезке иметь не может.
Сходимость итерационной последовательности к корню уравнения (1.3) может быть использована для приближённого определения корня с любой степенью точности. Для этого нужно только провести достаточное количество итераций.
5. Быстрота сходимости процесса итераций
Используем
теперь производную функции j(x
рис 1.4
Можно заметить, что справедливы равенства x=j(x) и хn+ 1=j(хn). Из них вытекает, что:
an+ 1= x-хn+ 1=j(x)-j(хn)
Но по формуле Лагранжа имеем:
j(x)-j(хn)= j ¢(cn)·( x-xn)= j ¢(cn) ·an
где cn - точка лежащая между точками x и хn. Поэтому:
Из равенства (1.4) вытекает следующий вывод:
Пусть x – корень уравнения x=j (x) - лежит на отрезке [a, b]. Если на этом отрезке выполняется неравенство |j ¢(x)|<q<1, а начальное приближение x1 также выбрано на отрезке [a, b], то при любом n выполняется соотношение:
В самом деле, из равенства (1.4) имеем:
|a2|=|j ¢(c1)|·|a1|
Но точка c1 лежит на отрезке [a, b] (рис.1.4), и потому:
|j ¢(c1)|<q
Отсюда следует, что:
|a2|<q·|a1|
Точно так же получаем, что:
|a3|=|j ¢(c1)|·|a2|<q·|a2|< q2·|a1|
и вообще:
|an+ 1|=qn·|a1|
Тем
самым наше утверждение
Так само при 0<q<1 последовательность чисел q, q2, q3, … , qn, … стремится к нулю, то и погрешность an+ 1 стремится к нулю с возрастанием n. Иными словами, при указанных выше предположениях числа x1, x2, … , xn, … приближаются к числу x, причём разность |x-xn| убывает быстрее, чем qn·|a1|.
Точно так же можно доказать, что если на отрезке [a, b] выполнено неравенство:
|j ¢(x)|>1,
то процесс итераций расходится.
Особенно
быстро сходится процесс
|an+ 1|=|j ¢(cn)|·|an|
то сходимость процесса ускоряется по мере приближения к точке x.
Однако
то же самое можно наблюдать
в методе Ньютона, при замене f
6. Метод касательных (метод Ньютона)
Метод касательных,
связанный с именем И. Ньютона,
Графики функции f(x) и её касательной близки около точки касания, поэтому естественно ожидать, что точка x1 пересечения касательной с осью Ox будет расположена недалеко от корня c (рис. 1.5)
Для определения точки имеем уравнение:
f(x0)+ f ¢(x0) (x1-x0)=0
таким образом: