МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” ІКТА ,кафедра «Захист інформації» Звіт З ЛАБОРАТОРНОЇ РОБОТИ № 2 З КУРСУ “ КОМП’ЮТЕРНІ МЕТОДИ ДОСЛІДЖЕННЯ ІНФОРМАЦІЙНИХ ПРОЦЕСІВ ТА СИСТЕМ ” НА ТЕМУ: “ МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ“ Варіант 21 Львів-2007 Мета роботи – ознайомлення з прямими методами розв’язування систем лінійних алгебраїчних рівнянь. Короткі теоретичні відомості Класичний метод Гауса. Розглянемо систему рівнянь четвертого порядку:   (1) Зауважимо, що елементи вектора-стовпчика вільних членів  занесені в матрицю коефіцієнтів А. Будемо вважати, що . З першого рівняння знаходимо х1: , (2) де  , . З допомогою рівняння (2) можна виключити  з решти рівнянь, для чого достатньо підставити (2) для  в друге, третє і четверте рівняння системи. Це і є першим кроком – кроком виключення невідомого .  ,  Перехід від початкової системи  до новоствореної  відбувається за такою формулою:    Другий крок – виключення невідомого  відбувається аналогічно:        Третій крок – виключення невідомого   ,     ;  Останнє рівняння можна переписати у вигляді:  або . Отже, в результаті прямого ходу одержимо систему рівнянь:  Знаходження невідомих проводиться в оберненому ході методу Гауса шляхом зворотних підстановок. Якщо п – кількість рівнянь (порядок) системи, то програмування обчислювального процесу проводиться так: L – кількість кроків виключення ; j – позначення другого індексу при визначенні α ; і – номер рядка системи ; k – номер стовпця. Можна записати, що для всіх     Обернений хід: , . Отже, обчислювальна схема прямого ходу методу Гауса має вигляд: Для  Для   Для  Для   i піддається спрощенню. Початкове обчислення всіх коефіцієнтів α не є обов’язковим. Це випливає з наступного. Наприклад, перехід від початкової системи коефіцієнтів до наступної відбувається так:  Наприклад, коефіцієнти першого чи другого стовпця нової системи утворюються за правилом , або  Отже, визначивши, наприклад α12 зразу ж можна переходити до визначення коефіцієнтів нової системи  і т.п. Таким чином цикли по J i по K можна об’єднати (оскільки, що J i K змінюються в однакових межах). Якщо  замінити на  та цикли по J та по K об’єднати в один (тобто J на K), то одержимо загальну форму методу виключення Гауса із стовпцевою формою розкладу матриці А до трикутного вигляду)   В кінці цих перетворень одержимо:    ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Розв’язати систему лінійних алгебраїчних рівнянь методом Гауса:   Таблиця ідентифікаторів констант, змінних, процедур та функцій, використаних у програмі, та їх пояснення: n Константа, що задає кількість рівнянь (порядок) системи  m Константа, що задає кількість коефіцієнтів a і вільних членів b  l Змінна, кількість кроків виключення  i Змінна, номер рядка системи  k Змінна, номер стовпця, позначення другого індексу при визначенні α  c Змінна, в якій зберігаються коефіцієнти з головної діагоналі  s Змінна, яка використовується для знаходження невідомих  a Змінна, масив, що задає кількість коефіцієнтів a і вільних членів b  x Змінна, масив, що задає кількість невідомих  write() Функція вводу елементів  writeln() Функція вводу елементів  readln() Функція виводу елементів   Текст програми мовою Pascal Program gaus(input,output); const n=4 ;m=5 ; var l,i,k:integer; c,s:real; a:array[1..n,1..m] of real; x:array[1..n] of real; begin for i:=1 to n do for k:=1 to m do begin write('a[',i,',',k,']='); readln(a[i,k]); end; for l:=1 to n-1 do begin c:=a[l,l]; for k:=l+1 to n+1 do begin a[l,k]:=-a[l,k]/c; for i:=l+1 to n do a[i,k]:=a[i,k]+a[i,l]*a[l,k]; end; end; x[n]:=-a[n,n+1]/a[n,n]; for i:=n-1 downto 1 do begin s:=a[i,n+1]; for k:=i+1 to n do s:=s+a[i,k]*x[k]; x[i]:=s; end; for i:=1 to n do writeln(‘x[‘,i,’]=’,x[i]); readln; end. Результат роботи програми: a[1,1]=8.3 a[1,2]= a[1,3]=4.1 a[1,4]=1.9 a[1,5]= a[2,1]=3.92 a[2,2]=8.45 a[2,3]= a[2,4]=2.46 a[2,5]=-12.21 a[3,1]=3.77 a[3,2]= a[3,3]=8.04 a[3,4]=2.28 a[3,5]= a[4,1]=2.21 a[4,2]= a[4,3]=1.69 a[4,4]=6.99 a[4,5]=8.35 x[1]= x[2]= x[3]= x[4]= Висновок: Виконавши дану лабораторну роботу я ознайомився з прямими методами розв’язування систем лінійних алгебраїчних рівнянь.
Антиботан аватар за замовчуванням

18.09.2012 15:36

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!