Автор работы: Пользователь скрыл имя, 02 Октября 2011 в 10:21, курсовая работа
Информатика является основной базой для проведения научно-исследовательских и проектно-технических работ в современной промышленности. С помощью аппаратно-программных комплексов выполняются как научно-технические расчеты, так и информационный и патентный поиск данных по необходимой тематике.
Согласно заданию цель данной курсовой работы – разработка программы численного решения эллептического дифференциального уравнения Лапласа в частных производных метода Дирихле в среде программирования Borland C++Builder для персонального компьютера.
Содержание
Введение 4
1 Описание поставленной задачи 5
1.1 Краткая характеристика численного метода 5
1.2 Анализ литературы и программ, патентный список 5
1.3 Формирование требований к программе 6
2 Проектирование схем алгоритмов 7
2.1 Разработка алгоритма головной программы 7
2.2 Проектирование алгоритма ввода исходных данных 9
2.3 Проектирование алгоритма вывода результатов 10
2.4 Проектирование алгоритма численного метода 10
3 Кодирование программы в среде программирования 11
3.1 Разработка структуры программы 11
3.2 Разработка интерфейса пользователя 11
3.2.1 Разработка интерфейса головной формы. 11
3.2.2 Интерфейс формы ввода данных Form2 12
3.2.3 Интерфейс формы результатов расчёта Form3 13
3.2.4 Интерфейс формы информации о программе Form4 13
3.3 Программирование ввода-вывода данных 14
3.4 Программная реализация численного метода 15
4 Тестирование работоспособности программы 16
4.1 Описание аппаратной конфигурации для тестирования 16
4.2 Тестирование разработанной программы 17
4.3 Решение задачи в математической системе Mathcad 19
4.4 Анализ результатов тестирования 19
5 Разработка гипертекстового варианта документа работы 21
Заключение 22
Список использованных источников 23
Приложение А 24
Тексты спроектированной программы 24
Результаты тестирования программы 32
Приложение В 33
Решение в математической системе Mathcad 33
Приложение Д 34
Гипертекстовая справка по программе 34
Приложение Е 36
Содержание
Информатика
является основной базой для проведения
научно-исследовательских и
Согласно
заданию цель данной курсовой работы –
разработка программы численного решения
эллептического дифференциального уравнения
Лапласа в частных производных метода
Дирихле в среде программирования Borland
C++Builder для персонального компьютера.
Этот метод является наиболее часто используемым представителем методов
первого порядка. Градиент (13.7.4) указывает направление наибольшей скорости
возрастания целевой функции. Движение к минимуму функции производится в направлении –grad F(x), которое называется антиградиентом.
В
методе наискорейшего спуска осуществляется
движение вдоль направления
_K+1_K _K
X = X + DX
_i
где DX – приращение вектора X на i-й итерации, который в методе наискорейшего спуска определяется как
где αK – величина оптимального шага на i-й итерации, для простого
случая (метод с постоянным шаговым множителем) αK=1;
S – вектор в направлении градиента функции.
Модуль градиента определяется по формуле
Для двухпараметрической целевой функции выражение
примет вид
Тогда составляющие вектора направления градиента
Выражения частных производных градиента могут задаваться аналитически с помощью подпрограмм или определяться численно.
1.2 Анализ литературы и программ, патентный список
Описание численного метода Кранка-Николсона рассмотрено в [1] и на сайтах Интернет, посвященных компьютерной математики находится на следующих сайтах:
- www.exponenta.ru;
- http://dxdy.ru
Поиск данных в Интернет производился с помощью поисковой службы Google.by
1.3 Формирование требований к программе
Разрабатываемая программа должна удовлетворять следующим требованиям:
- таблица результатов расчета искомой функции с сохранением в текстовый файл;
5) формат файла справки – html.
Схема алгоритма головной программы описывает общий сценарий работы разрабатываемого приложения. В составе проекта приложения предусматривается пять форм:
При запуске приложения отображается главная форма, на которой находятся управляющие элементы: главное меню и кнопки инструментов. В схеме головного алгоритма предусматривается обработка следующих событий (нажатие соответствующей кнопки или выбор пункта главного меню):
1)
вызов формы для ввода
2) загрузка созданного ранее файла с исходными данными;
3) поиск локального минимума двухпараметрической функции на основе метода градиентного спуска, при условии ввода исходных данных;
4) отображение результатов расчета, при условии успешного расчета;
5) вывод формы с информацией о программе;
6) выход из программы.
В
схеме алгоритма
1) запуск численного решения при отсутствии ввода исходных данных;
2) просмотр результатов расчета без успешного завершения этапа численного решения.
Схема
алгоритма головной программы изображается
согласно требований ГОСТ 19.701-90
на рисунке 2.1.
Ввод данных
Расчёт Нет
Да
Загрузить
Закрыть
Результат
О программе
Рисунок 2.1 – Схема алгоритма приложения
Исходными данными будут являться:
1) A,B,C,D,E,F – коэффициенты функции;
2) e – точность;
3) X0,Y0 – начальная точка;
Схема алгоритма ввода исходных данных из текстового файла показана на рисунке 2.2.
Рисунок 2.2 – Схема алгоритма ввода данных из файла
Ввод
исходных данных возможен также с
клавиатуры на форме ввода. При этом
исходные данные вводятся в текстовых
полях однострочных редакторов. Алгоритм
окончательного считывания данных из
файла, где вместо операции чтения из
файла производится чтение данных из поля
нужного компонента с преобразованием
из строкового в численный тип.
Результаты расчета будет являться точка с координатами X, Y и значение функции в этой точке.
Схема
алгоритма поиска локального минимума
двухпараметрической функции на основе
метода градиентного спуска изображена
на рисунке 2.4
нет
Рисунок 2.4 – Схема алгоритма численного метода
Согласно
заданию проект программы разрабатывается
в среде визуального
В составе проекта входят следующие формы:
3.2 Разработка интерфейса пользователя
Рисунок 3.1 – Вид проекта главной формы.
В составе интерфейса главной формы используются следующие визуальные компоненты:
а) «Меню» (компонент N1 класса TMenuItem) –
имеет следующие разделы:
- «Ввод данных» (N2 класса TMenuItem) –
переход на форму Form2 для ввода данных;
- «Выход» (N4 класса TMenuItem) –выход из программы;
б) «Результат» (N5 класса TMenuItem) – отображение Form3 для просмотра результата
в) «Справка» (N6 класса TMenuItem) – отображение информации о программе на форме Form4;
2) компоненты TLabel текстовых меток:
-Label1 для отображения строки «A*X^2+B*Y^2+C*X+D*Y+E*X*Y+F»;
3)кнопки управления класса TButton:
- ButtonVVOD – ввод данных;
- ButtonREZ – вывод таблицы с результатами расчета;
- ButtonEXIT – выход из программы.
Рисунок 3.2 – Форма ввода исходных данных
На форме используются следующие компоненты:
Информация о работе Поиск локального минимума методом градиентного спуска