ого наближення. Наприклад, В
(3)
де - заданий вектор [1]
Третім кроком ітераційного методу є обгрунтування збіжності послідовних наближень, отриманих з (3), до точного рішення х системи та оцінка похибки k-го наближення [1]
В
(4)
Оцінка (4) при заданому дозволяє зупинити ітераційний про-цес (3). [1]
Різні ітераційні методи відрізняються першими двома кроками, а вибір конкретного методу повинен здійснюватися на підставі оцінки (4). [1]
1.2.1 Метод простих ітерацій
У методі простих ітерацій матриця С (2) вибирається одиничної: С = Є. Ітераційний процес описується формулою
В
(5)
де - заданий вектор. [1]
1.2.2 Метод Зейделя
Відмінність методу Зейделя від простої ітерації полягає лише в тому, що при обчисленні (k +1)-го наближення отримані компоненти вектора відразу ж використовуються в обчисленнях. У матричної запису це можна представити так:
В
де матриці U і L отримані розкладанням В в суму:
В
матриця U - верхня трикутна частина B, включаючи діагональ; L - нижня поддіагональная частина В. [1]
Таким чином метод Зейделя можна записати в наступній формі
В
(6)
Зауважимо, що побудова матриці, зворотної, не представляє праці, так як це нижня трикутна матриця. [1]
2 Реалізація методу вирішення завдання
2.1 Контроль вхідний інформації
Метод контролю вхідний інформації повинен забезпечити максималь-ную захист від некоректності вводяться даних, захист від переповнення рядки і мінімальний перелік обмежень при введенні інформації.
У програмі вхідні дані, задаються користувачем в режимі діалогового вікна. Це дозволяє практично повністю контролювати вхідну інформацію і уникнути некоректності даних, що вводяться, так як далі ця інформація використовується в обчисленнях. Функції float_input () і n_input () призначені для захисту від некоректного введення дійсних і натуральних чисел відповідно (додаток В).
2.2 Формат виводу вихідний інформації
Висновок результатів розрахунку проводиться у вікні Output.
У вікні виводиться початкова СЛАУ, нижче вектор рішень, а також число ітерацій, необхідних для знаходження рішення.
2.3 Вибір типів вхідних, робочих і вихідних змінних, що використовуються в програмі
У програмі використані такі змінні:
char ch
int s
int n
double ** A
double * B
double * X
bool inpflag = false
bool decflag = false
переміщення між вікнами
число ітерацій
розмірність матриць
матриця коефіцієнтів
вектор вільних членів
вектор рішень
прапорець виконання операції введення
прапорець виконання операції рішення
2.4 Проектування програми
Робочий модуль програми - Zeidel.cpp. p> Для коректної роботи програми реалізовані методи коректного введення вхідної інформації, рішення СЛАР з поясненням виконуваних дій, форматований висновок вихідний інформації на екран і в файл. Для зручності тестування розроблений інтерфейс, розрахований на недосвідченого користувача.
2.5 Аналіз результату
У результаті виконаної програмістом роботи розроблена програма, що реалізує рішення СЛАР методами Зейделя і простих ітерацій і виконана в зручному і зрозумілому інтерфейсі, зрозумілому недосвідченому користувачу.
Приклад розрахунку СЛАР зі наступними вхідними даними:
Вихідна матриця А 45 8.6
7.3 8.1
Вектор вільних членів У 12
4.5
Результати розрахунку:
Вектор рішень 0.1938
0.3809
Число ітерацій 5
Висновок
В ході курсової роботи був розроблений програмний продукт, в рамках якого були реалізовані:
пЂ метод простих ітерацій для вирішення СЛАР;
пЂ метод Зейделя для вирішення СЛАР;
пЂ зручний віконний інтерфейс для недосвідченого оператора;
пЂ захист від неправильного вводу вхідної інформації;
В
Додаток А
(обов'язковий)
МІНІСТЕРСТВО ОСВІТИ
В
ДЕРЖАВНЕ Освітні установи
ВИЩОЇ НАУКИ
В
Вятському ДЕРЖАВНИЙ УНІВЕРСИТЕТ
В
ФАОТ
В
РОЗРОБКА ПРОГРАМИ ДЛЯ ВИРІШЕННЯ СИСТЕМ лінійних рівнянь
ОПИС ПРОГРАМИ
Лист затвердження
ТПЖА.12203-13 січня 01-ЛУ
Листів 2
Розробив студент гр. СК-00 ____________/А. І. Іванов/
Керівник викладач
ФАОТ ____________/К. І. Петров/
Кіров 2002
Додаток А
(обов'язковий)
МІНІСТЕРСТВО ОСВІТИ
ДЕРЖАВНЕ Освітні установи
ВИЩОЇ НАУКИ
Вятс...