Введение
Цель курсовой работы произвести поиск, обобщение и систематизацию теоретической информации по заданной тематике, а также с использованием знаний и навыков, полученных при изучении дисциплины, выполнить расчет собственных значений матрицы и собственных векторов матрицы.
Практическая реализация решения конкретных задач производилось с использованием языка программирования object pascal в приложении Borland Delphi 7.
В работе требовалось разработать программное обеспечение реализующее нахождение собственных векторов матрицы.
1. Описание предметной области
Темой данного курсового проекта является разработка программы поиска вектора собственных значений квадратной матрицы на основе QR-алгоритма.
Пусть А – линейный оператор из
.Число
называется собственным значением оператора А, если существует ненулевой вектор
такой, что А
. При этом вектор
называется собственным вектором оператора А, отвечающим собственному значению
. Множество всех собственных значений линейного оператора А называется его спектром.
Определителем линейного оператора А detА называется detА, где А – матрица линейного оператора А в любом базисе. Многочлен относительно lназывается характеристическим многочленом оператора А. Он не зависит от выбора базиса.
2. Проектирование программного модуля
2.1 Составление перечни функциональности
Для реализации поставленной задачи необходимо реализовать следующие функции:
- ввод данных с клавиатуры;
- чтение данных из файла;
- запись результата в файл;
- заполнение массива случайными числами;
- нахождение собственных чисел матрицы;
- нахождение собственных векторов матрицы.
При вводе данных проверяются данные на корректность. Собственные числа матрицы после нахождения заносятся в edit. Данные для чтения из файла хранятся в файле «input.txt», файл для сохранения результата – «output.txt».
2.2 Составление сценариев взаимодействия (краткого и подробного)
Краткий сценарий.
Пользователь при запуске программы вводит данные в таблицу либо с клавиатуры, либо читает из файла, либо задает случайными числами. После чего пользователь должен нажать на кнопку «занести массив», после чего массив будет занесен из таблицы в память и появится кнопка «поиск собственных значений». После нажатия на эту кнопку, будут вычислены значения, и занесены в текстовые поля. Так же появится кнопка «поиск векторов». Нажав на которую, в memo будет занесен результат, который потом может быть сохранен в текстовый файл после нажатия на кнопку «запись в файл».
Подробный сценарий.
1. Пользователь запускает программу.
2. Пользователь осуществляет заполнение таблицы:
2.1. вводит данные вручную;
2.2. нажимает на кнопку случайно;
2.3. нажимает на кнопку чтение из файла.
3. Разработка документации программного модуля
3.1 Разработка диаграммы классов
Данная программа имеет класс который называется form1. В нем описаны некоторые глобальные переменные, и функции, которые обрабатывают различные действия. Весь список переменных и функций приведен на рисунке 4.
3.3 Разработка основных алгоритмов программного модуля
Для успешной работы данной программы необходимы следующие входные данные: значения матрицы. На основании входных данных будут рассчитаны промежуточные данные, которые необходимы в дальнейшем расчете, а именно: коэффициенты для решения квадратного уравнения и корни решения квадратного уравнения, которые и являются собственными значениями и матрицы образованные путем вычитания собственных значений с главной диагонали матрицы. Выходными данными программы являются собственные векторы, которые вычисляются на основании собственных значений.
СКРИНШОТЫ ИЗ РАБОТЫ



Заключение
В результате выполнения курсовой работы, был обобщен и систематизирован теоретический материал по заданной теме, получены практические навыки работы в среде Delphi 7, создано приложение которое рассчитывает собственные вектора матрицы.
1. Архангельский, А.Я. Программирование в Delphi. Учебник по классическим версиям Delphi (+ дискета); М.: Бином, 2006. - 415 c.
2. Бобровский, С. Delphi 5 Учебный курс; СПб: Питер, 2000. - 640 c.
3. Бобровский, Сергей Delphi 7. Учебный курс; СПб: Питер, 2008. - 736 c.
4. Дарахвелидзе, П.Г.; Марков, Е.П. Delphi 2005 для Win32 наиболее полное руководство; БХВ-Петербург, 2005. - 618 c.
5. Фленов М. Программирование в Delphi глазами хакера; БХВ-Петербург - Москва, 2012. - 480 c.
6. Беклемишев Д.В. Курс аналитической геометрии и линейной алгебры. М. «Наука». 1980.
7. Ильин В.А., Позняк Э.Г. Аналитическая геометрия. М. «Наука». 1981
8. Ильин. В.А., Позняк Э.Г. Линейная алгебра. М. «Наука». 1974.