Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chislennye_metody_otchyot.docx
Скачиваний:
4
Добавлен:
06.05.2019
Размер:
1.88 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

НАЦИОНАЛЬНИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ХАРЬКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ»

Индивидуальное домашнее задание

по курсу «Численные методы в информатике»

Выполнили:

студенты группы ИФ-39б

Поляков А.

Манджула Е.

Проверил:

проф. каф. АСУ Гужва В.А.

Харьков 2012

Содержание

Линейная алгебра 3

Метод простой итерации(метод Якоби) 5

Метод Гаусса для решения СЛАУ 13

Метод Гаусса-Зейделя 18

Нахождение определителя матрицы методом Гаусса 25

Нахождение обратной матрицы методом Гаусса 31

Нахождение обратной матрицы с помощью расширенной 43

Интерполяционные формулы 60

Интерполяционная формула Лагранжа 62

Первая интерполяционная формула Ньютона 67

Вторая интерполяционная формула Ньютона 71

Решение нелинейных уравнений 75

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

Метод хорд 80

Метод простой итерации 83

Численное интегрирование 86

Формула трапеций 88

Формула Симпсона(парабол) 94

Линейная алгебра Руководство пользователя для решения слау

  1. Перейти на вкладку «Линейная алгебра»

  1. Ввести размерность матрицы в поле «Размерность».

  1. В выпадающем списке выбрать метод решения.

  1. Нажать кнопку «Построить матрицу А» и заполнить сгенерированные программой поля (матрица А, вектор В).

  1. Нажать кнопку «Решить».

  1. Процесс решения отображается внизу формы.

Программа также предусматривает сохранение исходных данных в файл (кнопка «Сохранить») и загрузку данных из файла (кнопка «Загрузить» или же меню «Файл» - «загрузить файл»).

Метод простой итерации(метод Якоби) Теоретические основы

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

Постановка задачи:

Возьмём систему линейных уравнений:

, где

 

Или

Описание метода:

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

где в принятых обозначениях D означает матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы A, а все остальные нули; тогда как матрицы U и L содержат верхнюю и нижнюю треугольные части A, на главной диагонали которых нули, E — единичная матрица.

Тогда процедура нахождения решения имеет вид:

где k счётчик итерации.

В отличие от метода Гаусса-Зейделя мы не можем заменять   на   в процессе итерационной процедуры, т.к. эти значения понадобятся для остальных вычислений. Это наиболее значимое различие между методом Якоби и методом Гаусса-Зейделя решения СЛАУ. Таким образом на каждой итерации придётся хранить оба вектора приближений: старый и новый.

Приведем достаточное условие сходимости метода:

Теорема. Пусть  . Тогда при любом выборе начального приближения  :

  1. метод сходится;

  2. скорость сходимости метода равна скорости сходимости геометрической прогрессии со знаменателем  ;

  3. верна оценка погрешности:  .

Условие остановки:

Условие окончания итерационного процесса при достижении точности ε в упрощённой форме имеет вид:

(Существует более точное условие окончания итерационного процесса, которое более сложно и требует дополнительных вычислений)

Блок-схема метода

Результаты решения

1

Точность e = 0,0001 Матрица B

0

-0,051948

0,272727

-0,233766

-0,365854

0

-0,04878

0

0,234234

0,306306

0

0

0,044643

-0,232143

0,303571

0

Вектор D = (1,61038961038961;0,715447154471545;0,558558558558559;-1,04464285714286) ||B|| = 0,580357142857143 ||D|| = 1,61038961038961 Вектор D = (1,61038961038961;0,715447154471545;0,558558558558559;-1,04464285714286) M = 18,3989022806436 Производим итерации: Начальное приближение X = { 1,61038961038961; 0,715447154471545; 0,558558558558559; -1,04464285714286 } Итерация №1: X = {1,96975990312227;-0,0324434714784846;1,01000612117937;-0,642566625945083} Итерация №2: X = {2,03774158048951;-0,079336649179709;1,01156608126682;-0,628172254069715} Итерация №3: X = {2,03723811528022;-0,079228550204966;1,01148126387673;-0,628245572736259} Итерация №4: X = {2,03722650716213;-0,0792201658988301;1,01148111302392;-0,628248083107201} Итерация №5: X = {2,03722661731204;-0,0792201988389057;1,01148112873505;-0,628248065773541}

2

Точность e = 0,0001 Матрица B

0

0,151899

-0,43038

-0,202532

0,314815

0

0,157407

-0,166667

0,13913

0,295652

0

-0,269565

0,16

-0,346667

-0,106667

0

Вектор D = (-0,810126582278481;1,31481481481481;-0,365217391304348;1,10666666666667) ||B|| = 0,784810126582278 ||D|| = 1,31481481481481 Вектор D = (-0,810126582278481;1,31481481481481;-0,365217391304348;1,10666666666667) M = 44,4793983517016 Производим итерации: Начальное приближение X = { -0,810126582278481; 1,31481481481481; -0,365217391304348; 1,10666666666667 } Итерация №1: X = {-0,677360728918241;0,859639255227832;-0,503623510014019;0,754000515962262} Итерация №2: X = {-0,615508074078298;0,91610293077573;-0,383257787249635;0,731483856118514} Итерация №3: X = {-0,654173946355694;0,926629574356753;-0,379455453506395;0,721242497846763} Итерация №4: X = {-0,652137210810756;0,929576177422072;-0,375540198033663;0,720129259220885} Итерация №5: X = {-0,653149206143351;0,930059416283128;-0,375238036352302;0,719767586583158}

3

Точность e = 0,0001 Матрица B

0

-0,264706

0,029412

0,308824

0,181818

0

-0,159091

0,306818

0,362745

0,264706

0

-0,235294

0,16

0,28

-0,24

0

Вектор D = (2,69117647058824;-0,738636363636364;2,18627450980392;-1,50666666666667) ||B|| = 0,862745098039216 ||D|| = 2,69117647058824 Вектор D = (2,69117647058824;-0,738636363636364;2,18627450980392;-1,50666666666667) M = 81,5424313979032 Производим итерации: Начальное приближение X = { 2,69117647058824; -0,738636363636364; 2,18627450980392; -1,50666666666667 } Итерация №1: X = {2,48570593478033;-1,09677895659966;3,15213811528119;-2,1725649726172} Итерация №2: X = {2,40327107388816;-1,46973693968626;3,1801930559328;-2,29691597138059} Итерация №3: X = {2,46441787687097;-1,50123577250454;3,22329489117389;-2,30629659655032} Итерация №4: X = {2,47112654646872;-1,50975127090675;3,2256815315889;-2,3081803426669} Итерация №5: X = {2,47286909916904;-1,51039210349484;3,22658723626372;-2,30829833648147}

4

Точность e = 0,0001 Матрица B

0

-0,896552

0,051724

0

0,246032

0

-0,285714

0

0,105263

0,070175

0

-0,210526

0,15

-0,35

-0,18

0

Вектор D = (0,758620689655172;1,12698412698413;-0,728070175438597;-1,42) ||B|| = 0,948275862068966 ||D|| = 1,12698412698413 Вектор D = (0,758620689655172;1,12698412698413;-0,728070175438597;-1,42) M = 230,439590920215 Производим итерации: Начальное приближение X = { 0,758620689655172; 1,12698412698413; -0,728070175438597; -1,42 } Итерация №1: X = {-0,289437674646386;1,26379332064882;-0,370902680092685;-1,83898083100736} Итерация №2: X = {-0,393620012310634;1,1361133023945;-0,302622752494692;-1,82221056223563} Итерация №3: X = {-0,27561655141376;1,14563734917446;-0,293063564297495;-1,80956411334958} Итерация №4: X = {-0,283660911206286;1,14092698466123;-0,296903301199963;-1,80843098709638} Итерация №5: X = {-0,279636432861791;1,14301420178161;-0,296571753419083;-1,8086175199374}

5

Точность e = 0,0001 Матрица B

0

-0,414634

-0,146341

0,182927

0,142857

0

-0,584416

0,415584

0,05814

-0,139535

0

-0,209302

0,12

0,08

0,06

0

Вектор D = (-1,6219512195122;1,09090909090909;-1,34883720930233;0,57) ||B|| > 1 ||B|| > 1 ||B|| = 1,14285714285714 ||D|| = 1,09090909090909 Матрица А:

0,7014

0,1977

0,0131

-0,2168

0,1977

0,7293

0,4953

-0,3558

0,0131

0,4953

0,9601

-0,0672

-0,2168

-0,3558

-0,0672

1,1573

Матрица B

0

-0,281865

-0,018677

0,309096

-0,271082

0

-0,679144

0,487865

-0,013644

-0,515884

0

0,069993

0,187333

0,30744

0,058066

0

Вектор D = (-1,70145423438837;0,0134375428493076;-0,847203416310801;0,252225006480601) M = 85,1993906978571 Производим итерации: Начальное приближение X = { -1,70145423438837; 0,0134375428493076; -0,847203416310801; 0,252225006480601 } Итерация №1: X = {-1,61145688061398;1,14869948539959;-1,40015753520141;0,222200672965116} Итерация №2: X = {-1,9304002261955;1,59604710180324;-1,62868659653862;0,286714810762129} Итерация №3: X = {-2,03228250162335;1,81034396202616;-1,73333322397362;0,327435878930216} Итерация №4: X = {-2,07814405119254;1,91371275260972;-1,78318357278707;0,347729569678308} Итерация №5: X = {-2,10007632689075;1,9634143621545;-1,8071041627023;0,357512211743768}

6

Точность e = 0,0001 Матрица B

0

0,264368

-0,505747

-0,057471

0,24

0

-0,31

0,15

0,06

0,15

0

-0,23

0,72

-0,08

-0,05

0

Вектор D = (2,44827586206897;-0,18;1,44;2,42) ||B|| = 0,85 ||D|| = 2,44827586206897 Вектор D = (2,44827586206897;-0,18;1,44;2,42) M = 72,8550545527759 Производим итерации: Начальное приближение X = { 2,44827586206897; -0,18; 1,44; 2,42 } Итерация №1: X = {1,53333333333333;0,1046;0,99109;3,4660775} Итерация №2: X = {1,77548795977011;0,458790835344828;0,818150077887931;3,6207405603125} Итерация №3: X = {1,94769980441724;0,576932512961753;0,810631536337422;3,7356576813266} Итерация №4: X = {1,97613071026024;0,603324246396846;0,789865212870024;3,75505491103212} Итерация №5: X = {1,99249556029524;0,616598955135968;0,788376947350721;3,76585003963416}

7

Точность e = 0,0001 Матрица B

0

0,373494

-0,216867

0,26506

0,21

0

0,33

0,22

0,336842

-0,189474

0

-0,2

0,12

0,28

-0,14

0

Вектор D = (-2,06024096385542;0,62;-0,936842105263158;0,94) ||B|| = 0,855421686746988 ||D|| = 0,94 Вектор D = (-2,06024096385542;0,62;-0,936842105263158;0,94) M = 69,9678987327088 Производим итерации: Начальное приближение X = { -2,06024096385542; 0,62; -0,936842105263158; 0,94 } Итерация №1: X = {-1,37634749524413;0,22860913126189;-1,63176930747922;1,06729656037112} Итерация №2: X = {-1,33808126588061;0,0353243059785752;-1,60771655434574;1,01440137137673} Итерация №3: X = {-1,42950865501389;0,0124250212158702;-1,62359529893145;0,99924130918918} Итерация №4: X = {-1,43863614649855;0,00193304860954424;-1,62164985723705;0,994935896044033} Итерация №5: X = {-1,44411793192613;0,00047667853697364;-1,62235932694882;0,993969623932053}

8

Точность e = 0,0001 Матрица B

0

0,310345

-0,252874

-0,206897

-0,21

0

-0,45

0,18

0,090226

0,097744

0

0,135338

0,257812

-0,039062

0,046875

0

Вектор D = (1,39080459770115;-0,33;-0,360902255639098;-0,1328125) ||B|| = 0,84 ||D|| = 1,39080459770115 Вектор D = (1,39080459770115;-0,33;-0,360902255639098;-0,1328125) M = 64,2284675904978 Производим итерации: Начальное приближение X = { 1,39080459770115; -0,33; -0,360902255639098; -0,1328125 } Итерация №1: X = {1,40713189223058;-0,486997932330827;-0,299518912883713;0,234947098655944} Итерация №2: X = {1,2667979785598;-0,418953586941817;-0,255757692569316;0,198160586498176} Итерация №3: X = {1,28446013600148;-0,448976761334447;-0,262077336153104;0,203590658420332} Итерация №4: X = {1,275617206756;-0,443298493634204;-0,261585278831629;0,201112098579135} Итерация №5: X = {1,27776780496262;-0,444417685823673;-0,261836078810014;0,201698511875193}

9

Точность e = 0,0001 Матрица B

0

-0,08642

0,469136

-0,259259

-0,23913

0

0,119565

0,358696

0,56044

-0,076923

0

-0,120879

0,33

-0,41

0

0

Вектор D = (-1;-0,695652173913043;1,87912087912088;-1,21) ||B|| = 0,814814814814815 ||D|| = 1,87912087912088 Вектор D = (-1;-0,695652173913043;1,87912087912088;-1,21) M = 55,288368547718 Производим итерации: Начальное приближение X = { -1; -0,695652173913043; 1,87912087912088; -1,21 } Итерация №1: X = {0,255384674370182;-0,966066664845808;2,24282511040439;-0,729635724871059} Итерация №2: X = {0,324841618167653;-0,766884981586793;2,2083638502334;-0,788379423554089} Итерация №3: X = {0,306691223143366;-0,7877361471073;2,20689647328745;-0,785820076048696} Итерация №4: X = {0,307141242119713;-0,787101180761725;2,20679046648322;-0,785931905988187} Итерация №5: X = {0,307065629845017;-0,787135887205273;2,20676427800443;-0,785942628396982}

10

Точность e = 0,0001 Матрица B

0

0,22

-0,11

0,34

0,38

0

-0,12

0,22

0,11

0,23

0

0,51

0,17

-0,21

0,31

0

Вектор D = (2,7;-1,5;1,2;-0,17) ||B|| = 0,85 ||D|| = 2,7 Вектор D = (2,7;-1,5;1,2;-0,17) M = 73,457247332767 Производим итерации: Начальное приближение X = { 2,7; -1,5; 1,2; -0,17 } Итерация №1: X = {2,1802;-0,852924;1,15694948;0,7384023788} Итерация №2: X = {2,636149085992;-0,47464876158704;1,7573923974821;0,92261322777137} Итерация №3: X = {2,71595260617009;-0,475850187243518;1,8598419897761;0,968191499200644} Итерация №4: X = {2,71991544965927;-0,476611038078466;1,8833478252968;0,976311770280563} Итерация №5: X = {2,71992331273548;-0,47764229073441;1,88725284037508;0,9777402247355}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]