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

 

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Тульский государственный университет

Кафедра прикладной математики и информатики










Численные методы

Лабораторная работа № 4:

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




Выполнила: ст.гр.520201 Ивушкин А.Э.

Проверил: Баранов В.И.






Тула 2012

1. ЦЕЛЬ РАБОТЫ


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


. ЗАДАНИЕ


Методом итераций и методом Ньютона найти действительный корень уравнения

.


. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ


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

Пусть задано уравнение


, (1)


где - непрерывная функция. Заменим исходное уравнение эквивалентным ему уравнением .

Выберем некоторое нулевое приближение и вычислим дальнейшие приближения по формуле


(2).


Если стремится к некоторому пределу , то этот предел есть корень исходного уравнения, то есть .

Исследуем условия сходимости. Если имеет непрерывную производную, тогда (по теореме Лагранжа)

, (3)


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

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

Из выражения (3) видно, что, если , то итерации попеременно сказываются то с одной, то с другой стороны , так что корень заключен в интервале .

Это надежная, хотя несколько грубая оценка. Но она неприменима, когда , когда итерации сходятся к корню монотонно, то есть с одной стороны.

Итерации следует прекращать, если выполняется условие


,(4)


где - заданная точность.

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

Метод Ньютона.

Метод Ньютона еще называют методом касательных. Рассмотрим уравнение



Если есть некоторое приближение к корню , а имеет непрерывную производную, то уравнение (1.1) можно преобразовать следующим образом:


,


где - точка, лежащая между и .

Приближенно заменяя на значение в известной точке , получим такой итерационных процесс:



Геометрически этот процесс означает замену на каждом шаге касательной к нему.



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

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

Оценим скорость сходимости метода Ньютона. Справедлива оценка


,


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

К остальным погрешностям расчета метод Ньютона хорошо устойчив.

корень уравнение итерация ньютон


4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ


Для метода итераций.

) Нахождение промежутка, в котором содержится какой-либо корень уравнения.

Так как - всюду определена и непрерывна на действительной оси, а f(-1.7)=-0.73<0, f(-1.5)=1.38>0, то в промежутке [-1.7;-1.5] существует по крайней мере 1 действительный корень.

) Представление исходного уравнения в виде x=.



Тогда .


) Проверка выполнения условия сходимости.

Найдем производную , и проверим, выполняется ли условие сходимости: на [-1.7;-1.5].


на [-1.7;-1.5]


То есть итерационный процесс сходится при любом начальном приближении из промежутка [-1.7;-1.5].

Для метода Ньютона.

) Нахождение промежутка, в котором содержится какой-либо корень уравнения.

Так как - всюду определена и непрерывна на действительной оси, а f(-1.7)=-0.73<0, f(-1.5)=1.38>0, то в промежутке [-1.7;-1.5] существует по крайней мере 1 действительный корень.

) Проверка выполнения достаточного условия сходимости. Посмотрим, выполняется ли 2-ое достаточное условие сходимости. Найдем 1-ую и 2-ую производные f(x).



Имеем, что и отличны от 0 и сохраняют определенные знаки на промежутке [-1.7;-1.5], а , то получим методом Ньютона значение корня с любой точностью.


. ТЕКСТ ПРОГРАММ


Для метода итераций.


#include<stdio.h>

#include<math.h>

#include <conio.h>main()

{x,x_n,x_p,e,p;i,n;();("x^2*arctg(x)-2=0,\n");("\nReshenie metodom iterachi:\n");_n=1.2;_p=0;=2.1;=0.00001;

(i=0;;i++)

{((i>1)&&(pow((x_n-x),2)/fabs(2*x-x_n-x_p)<e)) break;(x_p!=x) {x_p=x;}=x_n;_n=pow(2.0/atan(x_n),0.5);

} ("Reshenie");("\nx=%.5f",x_n);("\nChislo iteracii");("\ni=%d",i);("\nProverka");=pow(x_n,2)*atan(x_n)-2;("\n %.4f",p);();

}


Для метода Ньютона


using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace числ4 { class Program { static void Main(string[] args) { double x0 = -0.75, x = 0, f; bool t = true; while (t) { x = x0 - ((double) Math.Pow(x0, 5) - (double)3 * Math.Pow(x0, 2) - (double)9 * x0 + 8) / ((double)5 * Math.Pow(x0, 4) - (double)6 * x0 - 9); if (Math.Abs(x - x0) <= 1 / 100000) t = false; x0 = x; } f = (double) Math.Pow(x0, 5) - (double)3 * Math.Pow(x0, 2) - (double)9 * x0 + 8 //Console.WriteLine("" + x0 + "; " + f); Console.Write(String.Format("решение x = {0,5:F5} \n", x0)); Console.Write(String.Format("проверка f = {0,5:F5} ", f)); } } }


. РАБОТА ПРОГРАММ


Метод Ньютона


Метод итерации


Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Тульский государственный универси

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ