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

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    136,26 Кб
  • Опубликовано:
    2012-12-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

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

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

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

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

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








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

Лабораторная работа № 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]

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

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

Так как - всюду определена и непрерывна на действительной оси, а 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)); } } }

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


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

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

 

Не нашел материал для своей работы?
Поможем написать качественную работу
Без плагиата!