Смекни!
smekni.com

Итерационные методы решения нелинейных уравнений (стр. 1 из 2)

ЛАБОРАТОРНАЯ РАБОТА №1-2.

ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.

Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ.

Содержание работы:

1. Изучить метод простых итераций, метод Ньютона и модифицированный метод Ньютона для решения нелинейных уравнений.

2. На конкретном примере усвоить порядок решения нелинейных уравнений с помощью ЭВМ указанными методами.

3. Составить программу (программы) на любом языке программирования и с ее помощью решить уравнение с точностью

и
. Сделать вывод о скорости сходимости всех трех методов.

4. Изменить

и снова решить задачу. Сделать вывод о точности полученных результатов.

5. Составить отчет о проделанной работе.

ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ

Задание.

1. Доказать графическим и аналитическим методами существование единственного корня нелинейного уравнения

(1)

на отрезке

.

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

3. Составить программу (программы) на любом языке программирования, реализующие построенные итерационные процессы.

Решение.

1. Докажем графическим методом единственность корня нелинейного уравнения (1). Из графика функции

на Рис.1 видно, что функция
пересекает ось
в одной точке, являющейся приближенным значением корня нелинейного уравнения (1). Но так как данная функция имеет сложный аналитический вид, то преобразуем уравнение (1) к виду
и построим два графика
и
, имеющих более простой аналитический вид (Рис.2). Абсцисса точки пересечения графиков является приближенным значением корня. Заметим, что графический метод показывает количество корней исходного уравнения, но не доказывает единственность корня на отрезке.

Рис.1

Аналитический метод. Функция

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

2. Метод простых итераций. Для построения рабочей формулы перепишем уравнение (1) в виде:

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

(2)

Если условие выполняется, то итерационный процесс строится по формуле

Заметим, что в точке

из отрезка
, значение
.

Построим функцию

. Константа
выбирается из условия (2). Если производная
, то значение
выбирается из интервала
, если производная
, то – из интервала
. Так как
всюду положительна на отрезке, то, конкретизируя значение производной в любой точке отрезка (например
), значение
определяется из интервала
. Выбрав значение
, запишем рабочую формулу метода простых итераций:

(3)

Итерационный процесс (3) можно начать, задав произвольное начальное приближение

. Процесс (3) заканчивается при одновременном выполнении двух условий:
и
. В этом случае значение
является приближенным значением корня нелинейного уравнения (1) на отрезке
.

Метод Ньютона. В качестве начального приближения

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

(4)

Заметим, что в точке

условие (4) не выполняется, а в точке
- выполняется. Следовательно в качестве начального приближения выбирается точка
. Рабочая формула метода Ньютона
для данной задачи запишется так:

(5)

Условия выхода итерационного процесса (5) аналогичны условиям метода простых итераций.

Модифицированный метод Ньютона. Начальное приближение

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

(6)

Условия выхода итерационного процесса (6) аналогичны условиям метода простых итераций.

Замечание: для того, чтобы сделать вывод о скорости сходимости методов, необходимо в каждом методе выбирать одинаковое начальное приближение.

3. Блок-схема метода простых итераций, метода Ньютона и модифицированного метода Ньютона приведена на рисунке 3.


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

ПРИМЕР ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ

Program Pr_iter;

Uses Crt;

var n:integer;

x0,x,eps,d,y,z,c:real;

begin

clrscr;

n:=0;x0:=-1;c:=-0.1;x:=x0;eps:=0.001;d:=0.01;

repeat

y:=x+c*(exp(x)+x);z:=x;

n:=n+1;

writeln(n:3,x:9:5,y:9:5,abs(y-x):9:5,abs(exp(y)+y):9:5);

x:=y;

until (abs(z-x)<=eps) and (abs(exp(x)+x)<=d);

end.

ПРИМЕР ПРОГРАММЫ НА ЯЗЫКЕ С

#include <stdio.h>

#include <math.h>

main()

{

int n=0;

float x,y,z,x0=-1,c=-0.1,eps=0.001;d=0.01;

x=x0;

clrscr();

do

{

y=x+c*(exp(x)+x);z=x;

printf(“%d %.4f %.4f %.4f %.4f&bsol;n”,n++,x,y,fabs(y-x),

fabs(exp(y)+y));

x=y;

}

while(fabs(z-x)>e || fabs(exp(x)+x)>d;

getch();

}

Решение: в результате решения нелинейного уравнения (1) на указанном отрезке тремя методами при начальном приближении

с точностью
и
получены следующие результаты: методом простых итераций
; методом Ньютона
; модифицированным методом Ньютона
.