Розробка програмного забезпечення для розв'язку СЛАР методом Гауса

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

·аголовок процедури, опис змінних;

{12} початок процедури;

{13} вивід повідомлення „введіть кількість рівнянь n=”;

{14} оператор вводу кількості рівнянь;

{15} вивід повідомлення „введіть коефіцієнти і вільні члени”;

{16} оператор циклу;

{17} оператор циклу;

{18} командна дужка „begin”;

{19} вивід повідомлення;

{20} оператор вводу коефіцієнтів і вільних членів;

{21} командна дужка „end”;

{22} кінець процедури;

{23} - {36} Процедура зміни рівнянь місцями

{23} назва процедури, опис змінних;

{24} початок процедури;

{25} перевірка умови;

{26} оператор циклу;

{27} командна дужка „begin”;

{28} оператор циклу;

{29} оператор циклу;

{30} командна дужка „begin”;

{31} - {33} зміна коефіцієнтів місцями між даним і наступним

рядком через третю змінну r;

{31} змінній r присвоюється значення дане значення коефіцієнта;

{32} даному значенню коефіцієнта присвоюється значення наступного рядка;

{33} значенню коефіцієнта наступного рядка присвоюється значення змінної r;

{34} командна дужка „end”;

{35} командна дужка „end”;

{36} кінець процедури;

{37} - {43} Процедура ділення рівняння на провідний коефіцієнт;

{37} назва процедури, опис змінних;

{38} початок процедури;

{39} змінній b присвоюється значення провідного коефіцієнта;

{40} оператор циклу;

{41} оператор циклу;

{42} коефіцієнти провідного рівняння діляться на змінну b;

{43} кінець процедури;

{44} - {51} Процедура обчислення нових коефіцієнтів

{44} назва процедури, опис змінних;

{45} початок процедури;

{46} оператор циклу, командна дужка „begin”;

{47} змінній c присвоюється коефіцієнт;

{48} оператор циклу;

{49} обчислення коефіцієнта за формулою;

{50} командна дужка „end”;

{51} кінець процедури;

{52} - {62} Процедура обчислення коренів рівняння

{52} назва процедури, опис змінних;

{53} початок процедури;

{54} обчислення останнього невідомого за формулою;

{55} оператор циклу з зменшенням параметра, командна дужка „begin”;

{56} присвоєння 0 змінній d;

{57} оператор циклу;

{58} оператор циклу;

{59} обчислення змінної d за формулою;

{60} обчислення невідомих за формулою;

{61} командна дужка „end”;

{62} кінець процедури;

{63} - {68} Процедура виводу результатів

{63} назва процедури;

{64} початок процедури;

{65} вивід повідомлення „Розвязки рівняння”;

{66} оператор циклу;

{67} вивід невідомих;

{68} кінець процедури;

{69} - {69} Головна програма

{69} початок;

{70} очистка екрана;

{71} виклик процедури вводу коефіцієнтів і вільних членів;

{72} оператор циклу, командна дужка „begin”;

{73} виклик процедури зміни рівнянь місцями;

{74} виклик процедури ділення рівняння на провідний коефіцієнт;

{75} виклик процедури обчислення нових коефіцієнтів;

{76} командна дужка „end”;

{77} виклик процедури обчислення коренів рівняння;

{78} виклик процедури виводу результатів;

{79} оператор вводу без параметрів;

{80} кінець програми.

 

2.3 Контрольний приклад

 

Схема єдиного ділення.

Продемонструємо алгоритм гауссових вилучень на прикладі:

2x1 + 4x2 + 6x3 + 8x4 = 2,

3x1 + 5x2 + 6x3 + 13x4 = 8,

5x1 + 10x2 + 16x3 + 19x4 = 3,

7x1 + 12x2 + 20x3 + 27x4 = 9.

Випишемо розширену матрицю системи, відокремивши стовпчик вільних членів від коефіцієнтів біля невідомих вертикальною рискою:

Коефіцієнт 2 біля x1 у першому рівнянні назвемо провідним.

Перший крок методу Гаусса полягає у вилучення змінної з другого, третього та четвертого рівнянь системи. Для цього поділимо коефіцієнти першого рівняння на провідний елемент:

Додамо до другого перше рівняння, помножене на -3; до третього перше, помножене на -5; до четвертого перше, помножене на -7. Дістанемо еквівалентну систему рівнянь з розширеною матрицею:

На другому кроці вилучимо змінну x2 з третього та четвертого рівнянь. Провідним елементом виберемо коефіцієнт -1 біля x2 у другому рівнянні.

Поділимо на -1 коефіцієнти другого рівняння:

У третьому рівнянні змінної x2 немає, тому залишаємо його без змін. Помножимо друге рівняння на 2 і додамо його до четвертого:

На третьому кроці провідний елемент (коефіцієнт біля x3 у третьому рівнянні) дорівнює 1. залишаємо це рівняння без змін. З четвертого рівняння вилучимо змінну x3, помноживши третє рівняння на -5 і додавши його до четвертого:

Поділивши останнє рівняння на 2 одержимо: x4=1. На цьому прямий перебіг методу Гаусса завершено. Зворотний перебіг полягає в послідовному знаходженні невідомих з перетвореної системи. За значенням x4 з третього рівняння знаходимо: x3=-2+ x4=-2+1=-1 і, нарешті, з першого рівняння:

x1=1-2x2-3x3-4x4=1+2+3-4=2. Перевіривши, переконуємося, що знайдені значення невідомих перетворюють кожне рівняння в тотожність.

Відповідь: система має єдиний розвязок: x1=2, x2=-1, x3=-1, x4=1.

 

Висновок

 

Однією з головних задач лінійної алгебри є розвязання систем лінійних алгебраїчних рівнянь математичної моделі реальних обєктів, залежності між параметрами яких мають лінійний характер. У багатьох фізичних задачах електро-, радіотехніки, механіки баланс сил, діючих на якусь конструкцію, моделюють системою лінійних рівнянь. Наприклад, баланс сил струмів у вузлах і напруг у контурах електричного кола на підставі законів Кірхгофа описують системою рівнянь, лінійних відносно опорів та джерел енергії. Фізичні системи, модельовані диференціальними рівняннями, які не завжди можна розвязати в аналітичному вигляді, описують наближено системою різницевих рівня