Прямі методи розв’язування систем лінійних алгебраїчних рівнянь

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

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

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

Рік:
2007
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні основи криптології
Група:
ІБ – 42

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НУ ”Львівська політехніка” Звіт про виконання лабораторної роботи №1 з курсу: ”Алгоритмічні основи криптології” на тему: ”Прямі методи розв’язування систем лінійних алгебраїчних рівнянь ” Львів-2007 Мета роботи: вивчити найпоширеніші прямі методи розв’язку систем лінійних алгебраїчних рівнянь, навчитись розв’язувати на ЕОМ системи алгебраїчних рівнянь, провести порівняльний аналіз розглянутих методів. Теоретичні відомості Методи чисельного розв’язку системи лінійних рівнянь поділяються на дві групи: точні методи, які дозволяють одержати розв’язок, якщо він існує, як скінчену кількість арифметичних операцій наближені методи, які дозволяють отримати розв’язок лише заданою точністю з припущенням, що обчислення проводяться без округлень Точні методи використовуються при розв’язку на ЕОМ системи невисокого порядку (n, де n –число алгебраїчних рівнянь). Наближені використовуються до систем високого порядку. Метод Гауса Метод Гауса можна реалізувати у вигляді різних обчислювальних схем, в основі яких лежить одна й таж сама ідея послідовного виключення невідомих. Розглянемо систему лінійних рівнянь четвертого порядку:  Знаходимо  з першого рівняння, одержуємо  Підставляємо  в інші рівняння, тоді прийдемо до системи з 3 рівнянь з 3 невідомими  Аналогічні перетворення здійснюємо з іншими змінними в результаті отримаємо систему вигляду:  Знайшовши  підставляємо його значення в рівняння  і т. д. Блок схема алгоритму   Текст програми розвязку системи лінійних алгебраїчних рівнянь методом Гауса #include <stdio.h> #include <math.h> #define n 4 #define m 5 void main(void) { int i,l,k; double q,c,s,mm; double a[n][m],d[n][m],x[n]; /* вводимо значення коефіцієнтів системи*/ for (i=0;i<n;i++) { for (k=0;k<m;k++) { printf ("a[%i%i]=",i+1,k+1); scanf ("%lf", &a[i][k]); d[i][k]=a[i][k]; } } /* виконуємо прямий хід */ for (l=0;l<(n-1);l++) { c=a[l][l]; for (i=l+1;i<n;i++) { mm=-a[i][l]/c; for (k=l+1;k<=n;k++) a[i][k]+=mm*a[l][k]; } } /* виконуємо зворотній хід */ for (i=0;i<=n;i++) x[i]=0; x[n-1]=-a[n-1][n]/a[n-1][n-1]; for (i=n-2;i>=0;i--) { s=a[i][n]; for (k=i;k<n;k++) s+=a[i][k]*x[k]; x[i]=-s/a[i][i]; } /* виводимо результати */ for (i=0;i<n;i++) printf("\nx[%i]=%lf",i+1,x[i]); / * здійснюємо перевірку перавильності виконаних обчислень */ for (i=0; i<n; i++) { q=0; for (k=0;k<(m-1);k++) q+=d[i][k]*x[k]; printf ("q%d=%lf\n",i,q); } } Вихідна система лінійних алгебраїчних рівнянь  Результат виконання програми  Висновок: під час виконання даної лабораторної роботи я вивчила найбільш поширені методи розв’язку системи лінійних алгебраїчних рівнянь, ознайомилася детальніше з методом Гауса та навчилася реалізовувати його в середовищі мови програмування Сі. Похибки округлень при ітераційному методі впливають на остаточні результати значно менше, ніж при розв’язку за методом Гауса, оскільки при його використані похибки не нагромаджуються. Метод ітерації стає особливо зручним при розв’язку систем переважна кількість коефіцієнтів яких дорівнює 0. Недоліком методу ітерації є те, що рішення не завжди збігаються.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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