Решение системы линейных алгебраических уравнений Ax=b

Страницы работы

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

Министерство образования Российской Федерации

Новосибирский государственный технический университет

Лабораторная работа №3

Вычислительная математика

РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Вариант №6.


Студент:

Земцов Н.

Группа:

АА-86

Проверил:

Чикильдин Г.П.


Новосибирск

2010 г.

1. Цель работы

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

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

          Решить систему линейных алгебраических уравнений (САУ)

,   ,   ,    

итерационными методами Зейделя и наискорейшего спуска с точностью до e = 0,001. Для сравнения с истинными значениями корней выполнить решение указанной САУ методом Гаусса.

3. Порядок выполнения работы

1. Ознакомиться с описанием работы. Уяснить цель и смысл задачи согласно варианту (см. табл. 3.1).

2. Записать в общем виде алгоритмы Зейделя и наискорейшего спуска.

3. Решить САУ с выводом результатов на каждой итерации методом Зейделя с начальными условиями  и   .

4. Решить САУ с выводом результатов на каждой итерации методом наискорейшего спуска с начальными условиями  и   .

5. Решить САУ методом Гаусса.

6. Сравнить результаты, в том числе скорость сходимости итерационных алгоритмов.

7. Оформить отчет.

          Примечания:

1) пункты 3, 4, 5 выполняются по алгоритмам, реализованным в подпрограммах N1YTGA, N1YMGS, N1YMNS, N1YGAU, листинги которых приведены в приложении;

          2) в подпрограмме N1YGAU матрица A приводится к треугольной, т.е. исходная матрица A портится;

          3) при выполнении работы студенты должны составить головную программу, в которой необходимо осуществить:

          а) ввод данных,

          б) обращение к соответствующим подпрограммам N1YMGS и N1YMNS, в

которых выполняется только одна итерация, а окончание итерационной процедуры производить при выполнении условия

          Таблица 3.1

6

A

0,490

0,000

  - 0,128

0,090

0,150

   - 0,030

0,320

0,000

   - 0,061

0,020

0,010

   - 0,090

0,580

0,011

0,035

0,030

0,000

   - 0,073

0,580

0,000

0,020

   - 0,030

0,145

   - 0,012

0,420

6

B

0,964

1,279

   - 1,799

   - 4,971

2,153

,

где ,              i[1, n],   k = 1, 2, 3, …,

4. Листинг программы на языке FORTRAN

              REAL A(5,5),B(5),G(5),X(5)

      DATA X/ 0    , 0    , 0    , 0    , 0    /

      DATA A/ 0.490,-0.030, 0.010, 0.030, 0.020,

     *        0.000, 0.320,-0.090, 0.000,-0.030,

     *       -0.128, 0.000, 0.580,-0.073, 0.145,

     *        0.090,-0.061, 0.011, 0.580,-0.012,

     *        0.150, 0.020, 0.035, 0.000, 0.420/

      DATA B/ 0.946, 1.279,-1.799,-4.971, 2.153/

      K=0

      N=5

      E=0.001

2     WRITE (1,101) K,(X(i),i=1,N)

      CALL N1YMGS(A,B,N,G,X)

      K=K+1

      GM=abs(G(1))

      DO 1 i=2,N

1     if (abs( G(i) ) > GM) GM=abs(G(i))

      if (GM>=E) goto 2

      WRITE(1,*)

      DO 3 i=1,N

3     X(i)=B(i)/A(i,i)

      K=0

5     WRITE (1,101) K,(X(i),i=1,N)

      CALL N1YMGS(A,B,N,G,X)

      K=K+1

      GM=abs(G(1))

      DO 4 i=2,N

4     if (abs( G(i) ) > GM) GM=abs(G(i))

      if (GM>=E) goto 5

      K=1

      CALL N1YGAU(A,B,X,N)

      WRITE(1,*)

      WRITE(1,101) K,(X(i),i=1,N)

101   FORMAT(1x,I1,1x,F8.5,1x,F8.5,1x,F8.5,1x,F8.5,1x,F8.5)

      STOP

      END

     Приведенный листинг выполняет задачу методом Зейделя (N1YMGS), для выполнения задачи методом наискорейшего спуска  была написана аналогичная программа с использованием подпрограммы N1YMNS.


5. Результаты вычислений

Метод Зейделя:

Нач. условия x(i)=0; i=1,n:

  K    x(1)     x(2)     x(3)     x(4)     x(5)

 0  0.00000  0.00000  0.00000  0.00000  0.00000

 1  1.93061  4.17787 -2.48672 -8.98353  5.93451

 2  1.11437  2.01795 -2.99555 -9.00536  5.99415

 3  0.96720  1.99627 -2.99956 -8.99825  6.00119

 4  0.96269  1.99676 -2.99996 -8.99807  6.00159

Нач. условия x(i)=BET(i); i=1,n:

 0  1.93061  3.99688 -3.10172 -8.57069  5.12619

 1  1.12533  2.14820 -2.93458 -8.99825  5.98208

 2  0.98552  2.00010 -2.99869 -8.99909  6.00027

 3  0.96336  1.99672 -2.99991 -8.99809  6.00153

Метод Гаусса:

1  0.96242  1.99675 -2.99999 -8.99806  6.00161

Сходимость оценки первого корня к истинному значению:

  K    x(1)     x(1)     x(1)

    Гаусс    н.у.Х=0  н.у.Х=ВЕТ

 0  0.96242  0.00000  1.93061

 1  0.96242  1.93061  1.12533

 2  0.96242  1.11437  0.98552

 3  0.96242  0.96720  0.96336

 4  0.96242  0.96269  0.96336

Метод наискорейшего спуска:

Нач. условия x(i)=0; i=1,n:

  K    x(1)     x(2)     x(3)     x(4)     x(5)

 0  0.00000  0.00000  0.00000  0.00000  0.00000

 1  1.79467  2.42641 -3.41290 -9.43054  4.08448

 2  1.51773  2.21882 -2.70757 -9.02651  5.85170

 3  1.02609  2.09419 -3.05845 -8.97681  5.88870

 4  0.98325  2.04762 -2.97559 -9.01031  5.99337

 5  0.97096  2.00558 -2.99982 -8.98891  5.99566

 6  0.96339  2.00208 -2.99849 -8.99917  6.00061

 7  0.96330  1.99743 -2.99944 -8.99721  6.00150

Нач. условия x(i)=BET(i); i=1,n:

 0  1.93061  3.99688 -3.10172 -8.57069  5.12619

 1  1.05139  2.73255 -2.53292 -9.20427  6.08030

 2  1.09932  2.21672 -2.96334 -8.88878  5.90702

 3  0.96965  2.08774 -2.96495 -9.03359  5.99547

 4  0.98066  2.02043 -2.99018 -8.98367  5.99472

 5  0.96312  2.00715 -2.99826 -9.00172  5.99911

 6  0.96443  1.99929 -2.99814 -8.99668  6.00149

Метод Гаусса:

1  0.96242  1.99675 -2.99999 -8.99806  6.00161

Сходимость оценки первого корня к истинному значению:

  K    x(1)     x(1)     x(1)

    Гаусс    н.у.Х=0  н.у.Х=ВЕТ

 0  0.96242  0.00000  1.93061

 1  0.96242  1.79467  1.05139 

 2  0.96242  1.51773  1.09932 

 3  0.96242  1.02609  0.96965 

 4  0.96242  0.98325  0.98066 

 5  0.96242  0.97096  0.96312 

 6  0.96242  0.96339  0.96443 

 7  0.96242  0.96330  0.96443 

 

            Вывод: входе лабораторной работы я научился использовать итерационные методы решения СЛАУ, а именно метод Зейделя и метод наискорейшего спуска, можно отметить что при выборе начальных условий в виде   , оба метода сходятся к истинному решению за меньшие число итераций, чем при начальных условия в виде . При одинаковых условиях окончания итерационной процедуры метод Зейдера пришел к необходимому результату за меньшее число итераций.

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
82 Kb
Скачали:
0