Смекни!
smekni.com

Метод Жордана Гаусса (стр. 2 из 4)

Такі перетворення зручно виконувати користуючись таблицею (1), яка перейде в іншц таблицю за слідуючими правилами:

Усі вільні елементи реально заданої системи лінійних алгебраїчних рівнянь, тобто стовпець

замінюють на протилежні;

Основний елемент

замінюють на одиницю. Над основним стовпчиком записують
, а біля рядка
;

Інші елементи основного стовпчика j залишають без змін;

Інші елементи основного рядка і-го змінюють лише свої знаки;

Елементи, які не належать розв’язуючому рядку або стовпчику обчислюють наступним чином. Створюється двовимірний визначник, який складається з таких елементів попередньої таблиці:

а) елемента з цими ж індексами, що й в обчислювальному елементі;

б) основний елемент;

в) елемент, який є спільним для стовпця з елементом (а) і стовпця з елементом (б);

г) елемент, який є спільним для стовпця з елементом (б) і рядка з елементом (а).

Шуканий елемент обчислюється як добуток елементів (а) та (б) мінус добуток залишившихся елементів визначника.

Цю дію можна зобразити у вигляді формули:

Всі елементинової таблиці ділять на елемент

. Тим самим створюють ще одну таблицю, але вже без стовпця з елементом
, а рядок з елементом
позначають так, як позначили вилучений стовпець.

Виконавши всі описані операції новостворена таблиця матиме вигляд:

Шукаючи невідомі

системи лінійних алгебраїчних рівнянь продовжують виконувати операції 2...6, причому основним елементом вже не можна вибрати елемент jI рядка, в якому вже був при попередніх Жорданових виключеннях використаний елемент. Операції 2...6 продовжують мати, поки усі позначення рядків не будуть замінені позначеннями стовпців, тобто поки всі стовпці крім
-го не будуть вилучені.

Шуканими елементами будуть елементи, які залишаться після всіх обчислень в рядках навпроти нових позначень даних рядків. Оскільки нові позначення рядків відповідають відповідним невідомим та елементи навпроти, будуть відповідати розв’язкам заданої системи. З обчислення випливає, що шукані невідомі опиняються в стовпці під позначенням стовпця вільних елементів.

З даного методу обчислення помітно, що для розв’язку система повинна мати одинакову кількість рядків і невідомих, бо в протилежному випадку невідомі буде важко чи навіть неможливо знайти (коли невідових більше чим рядків) даним методом.

Розв’язуючи систему вручну методом Жордана-Гауса, основним елементом зручно вибирати число на яке найменьше ділити і, зрозуміло, що неможливо вибирати 0. для полегшення розв’язку при обчисленні кожен рядок зокрема можна скорочувати.

Оскільки комп’ютер не має логічного мислення, то йому важко задати вибирати зручніший елемент. Тому йому в програмі можна задати, щоб він вибрав перший можливий елемент для основного елемента.


2. Практична частина

2.1 Архітектура програми

Реалізацію обчислення систем лінійних рівнянь з однаковою кількістю стовпців і невідомих методом Жордана-Гауса здійснює програма Kursova.pas.

Запустити дану програму можна наступними способами:

з головного меню середовища Turbo Pascal шляхом вибору опції Run/Run (спочатку програму потрібно завантажити в оперативну пам’ять);

з середовища Turbo Pascal нажиманням комбінації клавіш Ctrl+F9;

з середовища операційної оболонки Norton Commander шляхом запуску прграми Kursova.exe (попередньо програма повинна бути відкомпільована з опцією Destination to memory).

Програма Kursova.pas є продурноорієнтованою. До неї входять 7 наступних процедур:

ramka;

windo;

wikno;

wind;

vvidn;

obchuslennya.

Зробимо опис названих процедур:

Процедура Ramka призначена для виводу рамки в кожному, описаному у наступних процедурах вікні процедура виводить рамку у вигляді двох ліній. Біля верхнього лівого краю на верхній грані процедура виводить на екран 3 символи “[<]”. Процедура виконується для кращого оформлення вікна. Виклик цієї процедури здійснюється із наступних процедур.

Процедура Windo призначена для загального оформлення використовуваних у програмі вікон. Вона викликається із наступних процедур разом із вхідними, для даної процедури даними. Вхідні дані задають розміри виводжуваного вікна, основний та даний кольори, а також назву вікна.

Процедура Wikno. Призначення – виводить на екранвікно меню даної програми, та вікно опису даних про автора програми та дату створення даної програми. У вікні “Меню” процедура виводить на екран запрошення для натискання однієї із чотирьох клавіш F1-F4 та ESC відповідно при натисканні яких програма виводить вікно вводу розмірності матриці, вікно вводу елементів, вікно виводу результатів та здійснює вихід із програми. Процедура Wikno використовується процедурою Wind та із головного блоку програми.

Процедура Wind. Використовується для виводу на екран робочих вікон та вікон опису програми. Параметри виводу робочих вікон задаються при кожному виклику цієї процедури, параметри вікон опису програми є стандартними і описані вони у процедурі Wikno, яка викликається процедурою Wind. Розміри робочих вікон виводяться залежно від кількості вхідних чи вихідних даних. Процедура виконується при вводі розмірності системи, вводу елементів, та виводу результатів.

Процедура Widn викликається при натисканні клавіші F1. Вона виводить вікно вводу розмірності квідратної системи лінійних рівнянь. В разі введення розмірності більше 20-ти програма виведе повідомлення “Розмірність повинна бути не більше 20-ти”. Це означає, що дана програма не розв’яже систему з кількістю невідомих більше 20.