Разработка специализированного программного модуля

Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 17:05, курсовая работа

Описание работы

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

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

Введение………………………………………………………………………4
Постановка задачи………………………………………………………….5
Математическое описание задачи…………………………………………6
Математическое описание метода Гаусса………………………………6
Математическое описание метода итераций……………………………9
Разработка схемы алгоритма……………………………………………...10
Описание входной и выходной информации……………………………15
Разработка и описание программы……………………………………….16
6 Расчет решения задания и анализ полученных результатов …………..17
Заключение…………………………………………………………………..19
Список использованных источников……………………………………….20

Файлы: 1 файл

Курсовой.doc

— 162.00 Кб (Скачать файл)

     Содержание

     Введение………………………………………………………………………4

  1. Постановка задачи………………………………………………………….5
  2. Математическое описание задачи…………………………………………6
 
     
  1. Математическое  описание метода Гаусса………………………………6
  2. Математическое описание метода итераций……………………………9
 
     
  1. Разработка  схемы алгоритма……………………………………………...10
  2. Описание входной и выходной информации……………………………15
  3. Разработка и описание программы……………………………………….16

     6 Расчет решения задания и анализ полученных результатов …………..17

     Заключение…………………………………………………………………..19

     Список  использованных источников……………………………………….20

     Приложение  А………………………………………………………………..21 

Введение

     Данная  курсовая работа выполняется на тему «Разработка специализированного программного модуля». Целью курсовой работы является приобретение навыков программирования на языке программирования Си посредством написания программного модуля, реализующего решение системы линейных уравнений различными методами. В ходе выполнения курсовой работы будет выполнено математическое описание задачи, разработка схемы алгоритма решения поставленной задачи, а также произведен расчет контрольного примера на ЭВМ и анализ полученных результатов. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

     Используя различные численные методы решить системы линейных уравнений:

     а)          7.9x1+5.6x2+5.7x3-7.2x4=6.68,

           5.8x1-4.8x2+0.8x3+3.5x4=9.95,             (1)

          5.3x1+4.2x2-3.2x3+9.3x4=8.60,

          3.2x1-1.4x2-8.9x3+3.3x4=1.00; 

     б)          6x1-x2-x3=11.33,

                   -x1-x2-6x3=32,                                   (2)

                   -x1-x2-6x3=42 
 

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

     2 Математическое описание задачи

     Для решения СЛАУ применяют в основном два класса методов:

  • прямые;
  • итерационные.

     Прямые   методы   являются   универсальными   и   применяются   для решения систем сравнительно невысокого порядка. Итерационные методы Выгодно использовать для СЛАУ высокого порядка со слабо заполненными матрицами.

     2.1 Математическое описание метода Гаусса

     Метод Гаусса относится к прямым методам. Алгоритм метода состоит 
из двух этапов. Первый этап называется прямым ходом метода и заключается 
в последовательном исключении неизвестных из уравнений, начиная с х1 
Уравнение, с помощью которого преобразуют остальные уравнения, 
называют разрешающим уравнением, а коэффициент аij этого уравнения при 
неизвестном xi, исключаемом из остальных уравнений системы.

     Метод Гаусса основывается на следующих утверждениях.

     1. Системы     уравнений,     полученные     в     результате     следующих 
преобразований:

  • перестановка уравнений;
  • умножение уравнения на любое число, отличное от нуля;
  • прибавление одного уравнения, умноженного на любое число, 
    к другому уравнению,

     являются  эквивалентными, т.е. имеют одни и те же решения.

  1. Преобразованиям уравнений системы соответствуют элементарные
 

     преобразования  строк расширенной матрицы системы:

  • перестановка строк;
  • умножение всех элементов строки на любое число, отличное от 
    нуля;
  • прибавление элементов одной строки, умноженных на одно и то же 
    число, к соответствующим элементам другой строки.

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

     Матрицы А и В, полученные одна из другой с помощью элементарных преобразований строк, называются эквивалентными, что обозначается А - В. Чтобы решить систему n уравнений с n неизвестными, необходимо расширенную матрицу системы с помощью элементарных преобразований строк привести к такому виду, чтобы основная матрица системы (стоящая слева от черты) была приведена к треугольной форме, тогда на месте столбца свободных членов (справа от черты) окажется решение системы:

     Пусть дана система n линейных алгебраических уравнений с n неизвестными: 

     a11x1+a12x2 +…+a1nxn=b1,

     a21x1+a22x2 +…+a2nxn=b2,

                         …                                           (3)

     an1x1+an2x 2+…+annxn=bn, 

     Решением  системы (3) называют упорядоченное множество чисел (ε1, ε2,... εn ), если x11 х22, ..., хnn превращает уравнения в системе (3) в равенства. Решение системы представляет собой n-мерный вектор, который обозначим через ε.

     Рассмотрим  общую схему Гаусса для систем, имеющих единственное решение. Пусть а11≠0. В противном случае можно поменять местами первое уравнение с уравнением, в котором коэффициент отличен от нуля. Разделим первое уравнение системы (2) на а11. Оно примет вид:

          x1+a12(1)x2+a13(1)x3+…+a1n(1)xn=b1(1),

         где aij(1)=aij/a11, b1(1)=b1/a11.                                  (4) 

     Умножим уравнение (4) на а21 и вычтем полученное уравнение из второго уравнения системы (3). Аналогично преобразовываются остальные уравнения. В результате система запишется следующим образом:

     x1+ a12(1) x2+a13(1) x3 +…+a1n(1) xn=b1(1),

            a22(1) x2+a23(1) x3 +…+a2n(1) xn=b2(1),

                                  …                                                   (5)         

            an2(1) x2+an3(1) x3+…+ann(1) xn=bn(1), 

     где a2j(1)=a2j - a1j(1)a21; a3j(1)=a3j - a1j(1)a31, anj(1)=anj - a1j(1)an1; bj(1)=bj-b1(1)aj1 (j=2,3,…,n)

     Если  какой-либо из коэффициентов aj1=0, то j-oe уравнение системы (3) войдет в систему (5) без изменений, то есть акj(1)= akj, bj(1)=bj (k=2,3,..,n).

     Оставив без изменений первое уравнение системы (5), сделаем второе 
уравнение разрешающими, применим описанную процедуру к системе из (n-1)   уравнений,   исключив   неизвестную переменную x2 из третьего   и последующих уравнений. Получаем систему вида:
 

     x1+ a12(1) x2+a13(1) x3 +…+a1n(1) xn=b1(1),

                   x2+a23(2) x3 +…+a2n(2) xn=b2(2),

                         a33(1) x3 +…+a3n(1) xn=b3(1),                         (6)

                                  …                                         

            an2(1) x2+an3(1) x3+…+ann(1) xn=bn(1), 

     где a2j(1) = a2j – a2ja22(1); a3j(2) = a3j(2) – a2j(2)a32(1),…, anj(2) = anj(1) – anj(2)an2(1); bj(2) = bj(1)-b2(2)aj2(1) (j=2,3,…,n)

     Продолжив   аналогичные   вычисления,   приведем   систему   (3)   к эквивалентной системе: 

     x1+ a12(1) x2+a13(1) x3 +…+a1n(1) xn=b1(1),

                   x2+a23(2) x3 +…+a2n(2) xn=b2(2),

                                x3 +…+a3n(3) xn=b3(3),                         (7)

                                            …                                         

                                                       xn=bn(n),

     в которой матрица из коэффициентов  имеет треугольный вид.

     На  этом заканчивается прямой ход решения  системы линейных уравнений методом Гаусса.

     При обратном ходе происходит последовательное исключение неизвестных хn, начиная с (n-l)-oro уравнения и заканчивая первым. Получаем:

     x1+ a12(1) x2+a13(1) x3 +…+a1n-1(1) xn-1=b1(1,1),

                   x2+a23(2) x3 +…+a2n-1(2) xn-1=b2(2,1),

                                 x3 +…+a3n-1(3) xn-1=b3(3,1),                         (8)

                                                        …        

                                                       xn-1=bn-1(n-1,1),

                                                       xn=bn(n).

     Исключая  неизвестные x(n-2) из уравнения с номером j (j=n-2,...l), вычисления заканчиваются решением системы, имеющей вид:

     x1=b1(1,n-1),

        …

     xn-j=bn-j(n-j,j),

        …                                                (9)

     xn-2 =bn-2(n-2,2),                        

     xn-1=bn-1(n-1,1),

     xn=bn(n). 

     Процесс прямого хода метода Гаусса может  привести не к треугольной матрице, а к двум другим случаям:

  • число     преобразованных    уравнений     системы     меньше    числа 
    неизвестных, тогда система имеет бесконечное множество решений;
  • все коэффициенты при неизвестных в каком-либо уравнении равны
 

     нулю, а свободные члены уравнения  отличны от нуля, в этом случае

     система не имеет решений. 
 

Информация о работе Разработка специализированного программного модуля