1. Опис предметної області
Об'єктом автоматизації даного програмного засобу є обчислення максимального з власних чисел заданої користувачем матриці.
Власним числом л матриці А називається таке число, яке задовольняє рішенням системи: | А - ле |=0. Для кожної матриці може існувати кілька власних чисел.
У багатьох ситуаціях потрібно обчислення власних значень матриці. Ця проблема виникає в багатьох областях математики, механіки, інженерної справи та геології. Однак, найчастіше, завдання не обмежується обчисленням всіх власних чисел. Іноді, буває необхідно обчислити тільки максимальне власне число матриці. Це завдання обумовлена ??необхідною швидкістю обчислень і отриманням конкретного значення в обмежено короткий термін.
Суть статечного методу знаходження максимального власного числа матриці полягає в наступному.
Задана матриця A. Заданий вектор початкового наближення x0. На кожному етапі проводиться обчислення наступного наближення x k +1. Тобто, на кожному кроці є два вектора xk і x k +1. Саме вони і використовуються для обчислення поточного власного числа. Обчислення відбувається за формулою:
, де xk +1=А xk.
Задана точність забезпечується виконанням наступної умови:, де - задана точність.
Розглянемо окремий випадок.
Нехай є матриця A (3х3) і задано початкове наближення х0
.
Якщо задана точність дорівнює е=1,6, тоді розрахунок максимального власного числа припиняється, і отримане число 3,693 вважають максимальним. У реальному житті, подібна точність найчастіше є неприпустимою, тому її значення береться від 0,00001 і менше. Для знаходження максимального власного числа з такою точністю потрібно досить велика кількість ітерацій.
2. Модель предметної області
Для представлення предметної області скористаємося діаграмою варіантів використання. Вона наведена на рис. 1 .
Рис. 1. Діаграма варіантів використання. Статечної метод
3. Вимоги користувача
1. Програма повинна обчислювати максимальне власне значення матриці.
2. Запропоноване рішення має бути виконане статечним методом.
. Обчислення мають здійснюватися з точністю задається користувачем і великою швидкістю.
. Програма повинна передбачати можливість здійснення читання вихідної матриці з файлу і запис отриманого результату у файл.
. Програма повинна мати можливість роботи в режимі діалогу з користувачем: вихідна матриця може задаватися користувачем в процесі виконання програми, а не тільки зчитуватися з файлу.
. Програмний продукт повинен мати можливість перевірки введених даних на наявність в них помилок.
. Інтерфейс повинен бути приємний на вигляд і виконаний в темних тонах.
. Огляд існуючих систем автоматизації поставленого завдання
Існує кілька програмних продуктів, здатних реалізовувати поставлену задачу. Серед них: MathCad, MatLab. Однак, реалізована задача не є основною в цих програмних засобах, а є лише якоїсь в...