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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


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

Информация:

Тип работы: курсовая работа. Добавлен: 14.09.2012. Сдан: 2011. Страниц: 5. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Содержание 

          Введение

 
      Информатика является основной базой для проведения научно-исследовательских и проектно-технических  работ в современной промышленности. С помощью аппаратно-программных комплексов выполняются как научно-технические расчеты, так и информационный и патентный поиск данных по необходимой тематике.
      Согласно заданию цель данной курсовой работы – разработка программы численного решения эллептического дифференциального уравнения Лапласа в частных производных метода Дирихле в среде программирования 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 Формирование требований  к программе
 
      Разрабатываемая программа должна удовлетворять следующим требованиям:
      тип операционной системы – Windows XP/Vista/7;
      система программирования – Borland C++Builder не ниже v5.0;
      формат файла исходных данных – текстовый;
      форма вывода результатов расчета:
      - таблица результатов расчета искомой функции с сохранением в текстовый файл;
    5) формат файла справки – html.
 

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

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

 
     Схема алгоритма головной программы описывает  общий сценарий работы разрабатываемого приложения. В составе проекта  приложения предусматривается пять форм:
      главная форма приложения;
      форма ввода исходных данных;
      форма отображения результатов расчета;
      форма информации о программе.
     При запуске приложения отображается главная  форма, на которой находятся управляющие  элементы: главное меню и кнопки инструментов. В схеме головного алгоритма предусматривается обработка следующих событий (нажатие соответствующей кнопки или выбор пункта главного меню):
     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 на основе составленных блок-схем алгоритмов.
          В составе проекта входят следующие  формы:
       FormM – главная форма (модуль Unit1), на которой располагается системное меню;
    FormD – форма ввода исходных данных и выполнения расчета (модуль Unit2);
    FormR – форма отображения результатов расчета (модуль Unit3);
    FormP – форма с информацией по программе (модуль Unit4);
     3.2 Разработка интерфейса  пользователя

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

 

    Рисунок 3.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 – Форма ввода исходных данных
      На  форме используются следующие компоненты:
    Однострочные редакторы класса TEdit для ввода исходных данных:
     - EditA – коэффициент A;
    EditB – коэффициент B;
    EditC – коэффициент C;
    EditD – коэффициент D;
    EditEE – коэффициент E;
    EditF – коэффициент F;
    EditX0 – начальное значение X;
    EditY0 – начальное значение Y;
    EditE – точность;
    Текстовые надписи класса Label для пояснения назначения вышеописанных компонентов TEdit Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9;
    Кнопка управления класса TButton:
      ButtonRUN для запуска расчета;
      ButtonLOAD для загрузки исходных данных из файла;
      ButtonCL для закрытия формы ввода данных;

      3.2.3 Интерфейс формы  результатов расчёта Form3

              
      Рисунок 3.3 – Форма отображения результатов
      На  форме используются следующие компоненты:
      1) кнопки управления класса TButton:
      - ButtonCL – закрытие формы Form3;
      2) EditX – вывод значения X;
         EditY – вывод значения Y;
         EditF – вывод значения F(X,Y); 

3.2.4 Интерфейс формы информации о программе Form4
       

      Рисунок 3.4 – Вид интерфейса формы Form4
      Интерфейс пользователя на форме строится с  помощью следующих стандартных  компонентов C++Builder:
    Текстовые надписи класса Label для отображения сведений о программе Label1,  Label2, Label3, Label4, Label5, Label6;
      2) кнопка ButtonCL для закрытия формы с информацией. 

   
      3.3 Программирование  ввода-вывода данных 

      Ввод  исходных данных в проекте реализован 2мя способами:
      1) с помощью формы Form2, где значения переменных    исходных данных считываются из текстовых поле Text    компонентов Edit с последующим преобразованием их в соответствующий вещественный или целочисленный  тип данных;
      2) чтением ранее  сохраненных   значений  из внешнего текстового  файла с помощью  потока ifsteam  из модуля fstream; алгоритм чтения исходных данных    соответствует рисунку 2.2 на форме Form2.
      При отображении результатов расчета  организуется проверка истинности условия  значения логической      переменной D . Если расчет не выполнен, то выводится сообщение с помощью  процедуры ShowMessage(). 
      Отображение  численных  значений выполняется  с помощью формы Form3 в EditX, EditY, EditF, используя   функции  преобразования   численных  данных   в   строковые FloatToStr .

      3.4 Программная реализация численного метода

       
    Программная реализация на языке  C++ для поиска локального минимума двухпараметрической функции на основае метода дирехле  2.4
    В начала тела  функции  проверяется наличие  ввода исходных данных.
    Тексты cpp и h файлов проекта помещаются в Приложение А.
 

 4 Тестирование работоспособности  программы

      4.1 Описание аппаратной  конфигурации для тестирования

 
           Тестирование разработанного приложения выполнялось на персональном компьютере под управлением операционной системы Windows XP SP3 Professional со следующими характеристиками аппаратной части:
    тип центрального процессора DualCore AMD Athlon:
    -число ядер – 2;
    тактовая частота процессора – 2700 Мгц;
    величина напряжения ядра – 1.1-1.4 В;
    объем кэша данных: L1=128 Кб, L2=1 Мб;
    системная плата Gigabyte GA-M52L-S3  с параметрами:
    - форм-фактор ATX;
    - наименование  набора системной логики VIA KT266A;
    - тип  интерфейса подключения видеоадаптера  – PCI-E 16x;
    - максимальный  объем оперативной памяти –  2 Гб;
    - интерфейс подключения жесткого диска – SATA II;
    - встроенный аудиоадаптер Realtek ALC883;
     3)тип видеоадаптера nVIDIA GeForce 9600 GT:
     - наименование графического процессора G94GT;
     - объем и тип видеопамяти –  512 Мб;
     - разрядность шины памяти –  256 Мб;
     - частота ядра GPU 650 МГц и 900 Мгц шины видеопамяти;
     - разъемы для подключения к  монитору – VGA;
     4)параметры монитора:
     - тип монитора PHILIPS I90CW;
     - ширина диагонали экрана –  19 дюймов;
     - интерфейс подключения к компьютеру  – VGA;
     - разрешение по горизонтали и вертикали – 1440х900;
    - частота кадровой разверстки – 75 Гц;
     5) типы внешней памяти компьютера:
     - тип жесткого диска –Seagate ST3500630AS;
     - максимальный объем - 500 Гб;
     - частота вращения шпинделя –  7200 об/мин;
     - интерфейс подключения: SATA-II;
     - объем кэш-памяти жесткого диска – 16 Мб;
     - тип привода оптического диска  – Optiarc DVD RW AD-7203S;
     - значения скорости 40/40/16;
     6) установлен модуль оперативной памяти DDR-2 объемом 2047;
     7) состав интерфейса для подключения  периферийных устройств:
     - 6 разъема стандарта USB 2.0;
     - 1 разъем порта LTP;
     - 2 разъема порта СОМ;
     - блок из 6 аудиоразъемов. 

     4.2 Тестирование разработанной  программы

 
      Разработанное приложение включает в себя загрузочный  файл – Dirihle.exe объемом 85 000 Байт.
      Для тестирования программы используются следующие исходные данные:
A=1
B=1
C=1
D=1
E=1
F=1
X0=1
Y0=1
e=0.01
При вводе  исходных данных форма Form2 имеет вид рисунка 4.1, а после расчета форма Form3 – рисунка 4.2.
      Время расчета составило менее 1 с. 
 

     
      Рисунок 4.2 – Ввод исходных данных 

      
      Рисунок 4.2 – Результат расчета 

   
      Результат расчета в виде текстового файла  приводится в Приложении Б.

      4.3 Решение задачи  в математической системе Mathcad

 
      Для тестирования используется математический пакет Mathcad 14. При этом исходные данные задаются в виде:






 
 
 
 
 
 
 
 
 
 
Результаты  решения в виде графика приводятся в приложении В.

      4.4 Анализ результатов тестирования

 
      По  данным приложения Б получены конечные значения:
          3.3= 0,29 

      По данным приложения В получены конечные значения:
              3.3= 0,3 

      По  данным приложения Г получены конечные значения:
                        Lг=0.3  Tг=0.001 Uг=0.862137
 
      Тогда абсолютное значение ошибки программы  по Mathcad
                        ?г=|Uб-Uв|
                      ?г=|0,31-0,29|=0.01 

      Относительное значение ошибки теста Mathcad
                        ?г=(%)=100%·| Uб-Uв |/ Uб
            ?г=(%)=100%·|0,3-0,29|/0,3=0,033% 

       
            Как видно из данных Приложений Б и В полученная погрешность расчета менее 5%, что допустимо для технических расчетов. Это означает, что схема алгоритма и текста программы написаны верно. 
 
 
 
 
 
 

 

       5 Разработка гипертекстового варианта  документа работы

 
      Html-документ  со справочной информацией по  разработанной программе выполняется  на языке HTML в среде текстового  редактора Блокнот. Полный  исходный  текст    документа находится  в Приложении Д. 


    Рисунок 5.1 – Окно обозревателя Firefox со справкой
 

      Заключение

 
     В результате выполнения курсовой работы  было    произведено описание задачи поиска локального минимума двухпараметрической функции на основе метода градиентного спуска, разработана схема алгоритма и написана программа решения на языке программирования  С++  в  среде программирования С++Builder. Проведенное тестирование показало правильность вычисления по спроектированной программе.
      Разработанная программа может использоваться для решения  дифференциального уравнения в частных производных на персональных компьютерах в среде Windows XP.
 

      Список использованных источников

 
     1 Динамическое программирование и уравнения в частных производных. – Москва: издательство «Мир», 1974. – 155 с.
     2 Вычислительная техника и программирование. Методические указания и задания к курсовой работе для студентов специальности 1-53 01 05 «Автоматизированные электроприводы». – Могилев: Белорусско-Российский университет, 2008. – 32 c.
 

  Приложение А

    (Обязательное)

      Тексты спроектированной программы

    Текст файла Project1.cpp 

    //--------------------------------------------------------------------------- 

    #include <vcl.h>
    #pragma hdrstop
    //---------------------------------------------------------------------------
    USEFORM("Unit1.cpp", FormM);
    USEFORM("Unit2.cpp", FormD);
    USEFORM("Unit3.cpp", FormR);
    USEFORM("Unit4.cpp", FormP);
    //---------------------------------------------------------------------------
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
            try
            {
                     Application->Initialize();
                     Application->CreateForm(__classid(TFormM), &FormM);
                     Application->CreateForm(__classid(TFormD), &FormD);
                     Application->CreateForm(__classid(TFormR), &FormR);
                     Application->CreateForm(__classid(TFormP), &FormP);
                     Application->Run();
            }
            catch (Exception &exception)
            {
                     Application->ShowException(&exception);
            }
            catch (...)
            {
                     try
                     {
                             throw Exception("");
                     }
                     catch (Exception &exception)
                     {
                             Application->ShowException(&exception);
                     }
            }
            return 0;
    }
    //---------------------------------------------------------------------------
    Файл Unit1.h (форма Form1)
    //--------------------------------------------------------------------------- 

    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
Продолжение приложения А 

    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>

и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.