Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Слайды Станкевич 2009.ppt
Скачиваний:
175
Добавлен:
15.06.2014
Размер:
4.65 Mб
Скачать

1 шаг прямого хода. Из второго-четвертого уравнений исключаем x1

-27 0 0 0

c21 c21 c21c11 c11

-36 8 0 0

0 ;

73

8

142

85/9

-184/9

-314/9

-8/9

53/9

16/9

43/3

-40/3

-86/3

c

c

22

c21c12

12

( 15)( 36)

8

 

22

 

c11

 

27

 

 

 

 

c

c

c21c13

50

( 15)(73)

85

 

23

23

c11

 

27

9

 

 

 

2 шаг. Исключаем из третьего и четвертого уравнений x2. Поскольку с32 и с42 равны нулю, то матрица на этом шаге не изменится.

3 шаг. Исключаем x3 из четвертого уравнения

-27

-36

73

8

142

0

8

85/9

-184/9

-314/9

0

0

-8/9

53/9

16/9

0

0

0

653/8

0

c 86/ 3

(43/ 3)(16/ 9)

0

 

45

8/ 9

 

Обратный ход

Из последней строки находим x4=0 Из третьей строки

x3 169 98 2

Из второй строки

x2

 

1

314

 

85

( 2)

 

2

 

 

 

 

 

8

9

9

 

 

 

 

 

 

 

Из первой строки

x1 271 (142 36( 2) 73( 2)) 8

Лекция 5 Численное решение нелинейных уравнений

Численное решение нелинейных уравнений.

Решение нелинейного уравнения f(x)=0 или системы нелинейных уравнений состоит из двух этапов:

1)Отделение корней, то есть отыскание достаточно малых областей, в каждой из которых заключен ровно один корень уравнения или системы уравнений.

2) Вычисление каждого отделенного корня с заданной точностью.

Итерационный алгоритм отделения корня

Для начального приближения x0, найти f0=f(x0),

дать начальный интервал поиска D и его коэффициент асширения d >1.

2.Вычислить a=x0 - D, b=x0+D.

3.Увеличить интервал поиска: D=D*d.

Если интервал превысил некоторый заданный предел закончить поиск (интервал не найден).

4a. Если знаки fa и f0 отличаются, то считать корень окруженным на [a,x0] и выйти из алгоритма.

4b. Если знаки fb и f0 отличаются, то считать корень окруженным на [x0,b] и выйти из алгоритма.

4c. Если f0>0 (случай меньше нуля анализируется аналогично) перейти к 5.

Продолжение алгоритма отделения корня

5. Проверяется, какое значение из fa или fb является меньшим.

Если оба одинаковы, то переходим к 6a (двусторонний поиск), если fb - производим поиск вправо 6b, иначе - поиск влево 6c.

6a. Находим a=a-D, b=b+D, fa=f(a), fb=f(b), перейти к 3.

6b. Присваиваем последовательно a=x0, x0=b, fa=f0, f0=fb; находим b=b+D, fb=f(b), перейти к 3.

6c. Аналогично 6b, только направление поиска - влево.

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

Метод бисекции

Пусть [a,b] - отрезок локализации.

Предположим, что функция f(x) непрерывна на [a,b] и на концах принимает значения разных знаков.

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

Шаг метода бисекции

Пусть на k-ом шаге найден отрезок [ak,bk] такой, что f(ak)· f(bk)<0.

Найдем середину отрезка xk= (ak + bk)/2. Если f(xk)=0, то xk - корень и задача решена.

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

ak+1= ak, bk+1= xk, если f(ak)· f(xk)<0

ak+1= xk, bk+1= bk , если f(ak)· f(xk)>0

Если длина отрезка локализации меньше , то итерации прекращают и в качестве значения

корня с заданной точностью принимают середину отрезка.

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

Пусть уравнение записано в виде f(x)=0.

Если разложить f(x) в ряд Тейлора в окрестности некоторой точки xk и ограничиться первой производной,

то можно записать

f (xk )

f

 

 

(x xk ) 0

 

f

 

 

 

x

 

k

 

 

 

 

 

 

 

 

(x xk ) f (xk )

 

x

 

k

 

 

 

 

 

 

 

 

 

 

 

Решение дает очередное приближение к корню уравнения f(x)=0, которое обозначим как xk+1.