Поиск локального минимума методом градиентного спуска

Автор работы: Пользователь скрыл имя, 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

Содержимое работы - 1 файл

КУРСОВАЯ.doc

— 1.11 Мб (Скачать файл)

Содержание 

          Введение

 

      Информатика является основной базой для проведения научно-исследовательских и проектно-технических  работ в современной промышленности. С помощью аппаратно-программных комплексов выполняются как научно-технические расчеты, так и информационный и патентный поиск данных по необходимой тематике.

      Согласно заданию цель данной курсовой работы – разработка программы численного решения эллептического дифференциального уравнения Лапласа в частных производных метода Дирихле в среде программирования Borland C++Builder для персонального компьютера. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      1 Описание поставленной  задачи

      1.1 Краткая характеристика численного метода

 

      Этот метод является наиболее часто используемым представителем методов

первого порядка. Градиент (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 Формирование требований  к программе

 

      Разрабатываемая программа должна удовлетворять следующим требованиям:

    1. тип операционной системы – Windows XP/Vista/7;
    2. система программирования – Borland C++Builder не ниже v5.0;
    3. формат файла исходных данных – текстовый;
    4. форма вывода результатов расчета:

      - таблица результатов расчета искомой функции с сохранением в текстовый файл;

    5) формат файла справки – html.

 

       2 Проектирование схем алгоритмов

      2.1 Разработка алгоритма  головной программы

 

     Схема алгоритма головной программы описывает  общий сценарий работы разрабатываемого приложения. В составе проекта  приложения предусматривается пять форм:

    1. главная форма приложения;
    2. форма ввода исходных данных;
    3. форма отображения результатов расчета;
    4. форма информации о программе.

     При запуске приложения отображается главная  форма, на которой находятся управляющие  элементы: главное меню и кнопки инструментов. В схеме головного алгоритма предусматривается обработка следующих событий (нажатие соответствующей кнопки или выбор пункта главного меню):

     1) вызов формы для ввода исходных  данных;

     2) загрузка  созданного  ранее   файла  с   исходными   данными;

     3) поиск локального минимума двухпараметрической функции на основе метода градиентного спуска, при условии ввода исходных данных;

     4) отображение результатов расчета, при условии успешного расчета;

     5)  вывод формы с информацией   о программе; 

     6) выход из программы.

     В схеме алгоритма предусматривается  контроль и    блокирование следующих  действий  пользователя:

     1)  запуск численного  решения   при  отсутствии  ввода исходных  данных;

     2) просмотр  результатов  расчета без успешного завершения этапа численного решения.

     Схема алгоритма головной программы изображается    согласно  требований ГОСТ   19.701-90  на  рисунке   2.1.  
 
 
 
 

 

 

 
 

      Ввод  данных

 

  

 Расчёт            Нет

 

 Да

    

 Загрузить

                                 
 
 

 Закрыть

  

      Результат 

 
 

 О программе

 

  
 
 
 
 

       
       

      Рисунок 2.1 –  Схема алгоритма приложения

      2.2 Проектирование алгоритма  ввода исходных данных

 

      Исходными данными будут являться:

      1) A,B,C,D,E,F – коэффициенты функции;

      2) e – точность;

      3) X0,Y0 – начальная точка;

      Схема алгоритма ввода исходных данных из текстового файла показана на рисунке 2.2.

 

 
 

                  
 
 
 
 
 
 

  
 
 

 

                

 

                

 
 

                  

      Рисунок 2.2 – Схема алгоритма ввода данных из файла

      Ввод  исходных данных возможен также с  клавиатуры на форме ввода. При этом исходные данные вводятся в текстовых  полях однострочных редакторов. Алгоритм окончательного считывания данных из файла, где вместо операции чтения из файла производится чтение данных из поля нужного компонента с преобразованием из строкового в численный тип.  

      2.3 Проектирование алгоритма  вывода результатов

 

     Результаты  расчета будет являться точка с координатами X, Y и значение функции в этой точке.

      2.4 Проектирование алгоритма  численного метода

 

     Схема алгоритма поиска локального минимума двухпараметрической функции на основе метода градиентного спуска изображена на рисунке 2.4 

               

                 
 
 

               

                 

               

               

                 
 
 
 
 
 

               

                нет

                 

                 
 
 

                 

                  
 

      Рисунок 2.4 – Схема алгоритма численного метода

      3 Кодирование программы  в среде программирования

      3.1 Разработка структуры  программы

 

      Согласно  заданию проект программы разрабатывается  в среде визуального программирования C++Builder версии 6.0 на основе составленных блок-схем алгоритмов.

          В составе проекта входят следующие  формы:

  1.    FormM – главная форма (модуль Unit1), на которой располагается системное меню;
  2. FormD – форма ввода исходных данных и выполнения расчета (модуль Unit2);
  3. FormR – форма отображения результатов расчета (модуль Unit3);
  4. FormP – форма с информацией по программе (модуль Unit4);

     3.2 Разработка интерфейса  пользователя

      3.2.1 Разработка интерфейса  головной формы.

 

    Рисунок 3.1 – Вид проекта главной формы.

          В составе интерфейса главной формы используются следующие визуальные компоненты:

  1. MainMenu – главное меню приложения со следующими разделами:

    а) «Меню» (компонент 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.2 Интерфейс формы  ввода данных Form2

        

    Рисунок 3.2 – Форма ввода исходных данных

      На  форме используются следующие компоненты:

Информация о работе Поиск локального минимума методом градиентного спуска