Розробка програмного забезпечення для розв'язку СЛАР методом Гауса
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
·аголовок процедури, опис змінних;
{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.
Висновок
Однією з головних задач лінійної алгебри є розвязання систем лінійних алгебраїчних рівнянь математичної моделі реальних обєктів, залежності між параметрами яких мають лінійний характер. У багатьох фізичних задачах електро-, радіотехніки, механіки баланс сил, діючих на якусь конструкцію, моделюють системою лінійних рівнянь. Наприклад, баланс сил струмів у вузлах і напруг у контурах електричного кола на підставі законів Кірхгофа описують системою рівнянь, лінійних відносно опорів та джерел енергії. Фізичні системи, модельовані диференціальними рівняннями, які не завжди можна розвязати в аналітичному вигляді, описують наближено системою різницевих рівня