
- •Министерство образования и науки
- •Введение
- •Понятие о Золотом сечении
- •2.1. Золотое сечение – гармоническая пропорция
- •2.2. Второе золотое сечение
- •Золотой треугольник
- •История золотого сечения
- •Ряд Фибоначчи
- •Обобщенное золотое сечение
- •Принципы формообразования в природе
- •Золотое сечение и симметрия
- •2. Методы одномерной оптимизации
- •Метод золотого сечения.
- •3. Практическая реализация метода золотого сечения
- •3.1. Характеристика объекта автоматизации
- •Разработка программы
- •Описание метода золотого сечения
- •Результаты
- •3.3 Обоснование выбора языка программирования
- •Заключение
- •Список использованных источников:
- •Приложение № 2.
- •Листинг программы.
- •Результат работы программы.
Разработка программы
Определить координаты точки экстремума функции вида:
а) x4-14x3+60x2-70x
б) –e-xln(x)
в) 2x2-ex
Начальный интервал [0;2].
Относительная погрешность =10-5.
Описание метода золотого сечения
Пусть дана некоторая функция f(x) и начальный отрезок (a,b).
Рассмотрим алгоритм метода золотого сечения:
Находят две дополнительные точки x1:=a+sech*(b-a) и x2:=a+(1-sech)*(b-a), где sech=0.3819660113;
Находят значение функции в этих точках: y1 и y2;
Рассматривают дополнительную переменную int – расстояние между рабочими точками (длина текущего итерационного отрезка), начальное значение которой a-b.
Если int>e*x1, где е – относительная погрешность, то переходят к пункту 5, в противном случае происходит окончание итерационного процесса и x1 – искомая точка минимума.
Если y2>y1, тогда уменьшаем рабочий интервал int=x2-a. Переприсваиваем: b=x2; x2=x1; y2=y1; x1=a+sech*int; y1=f3(x1).
Если y2>y1, тогда уменьшаем рабочий интервал int=b-x1. Переприсваиваем:
int=b-x1; a=x1; x1=x2; y1=y2; x2=a+(1-sech)*int; y2=f3(x2).
Возвращаемся к пункту 4.
Результаты
x4-14x3+60x2-70x
2) –e-xln(x)
3) 2x2-ex
Метод золотого сечения является довольно простым методом. Эффективность метода золотого сечения хуже, чем метода дихотомии, но преимущество его в том, что при каждой следующей итерации надо вычислять значение целевой функции один раз (за исключением первой итерации).
3.3 Обоснование выбора языка программирования
Для создания программы курсового проекта я выбрал язык программирования – Delphi.
Delphi — это язык программирования, который используется для создания разнообразных продуктов ПО. До недавнего времени он имел другое название — Object Pascal. Delphi представляет собой объектно-ориентированное программирование, которое предполагает существование определенной объектной библиотеки или так называемой библиотеки прототипов, использование которой больше не характеризует процесс программирования как громоздкое и сложное мероприятие.
Образование представленного средства программного обеспечения происходило в рамках компании Borland, которая сейчас занимается разработкой системы управления жизненным циклом приложений.
Специфической особенностью и вместе с тем недостатком Delphi являлось то, что использование подобного языка программирования на первых порах возможно было только в рамках операционной системы Microsoft Windows. Сейчас же работа с Delphi осуществляется и на таких платформах, как GNU/Linux, Mac OS X и Windows CE.
Во многом Delphi стал основой для создания такого языка программирования как С#.
Распространено также использование Delphi при разработке различных компонентов программного обеспечения. Примером категорий программных продуктов могут быть: утилиты, информационное обеспечение в Интернете, веб-проектирование, музыкальное оформление, инженерное программное обеспечение, создание баз данных и др.
Delphi имеет особенность постоянно модернизироваться, о чем свидетельствует периодическое обновление в виде появления новых версий. На сегодняшний день, последней, 12 версией программного средства является Delphi 2009, которая подразумевает некоторые совершенствования в системе языка программирования. Во-первых, модернизация элементов Delphi касается уникода, а именно, предполагается полная его поддержка. Во-вторых, наличие элементов для осуществления обобщенного программирования, которое подразумевает разработку алгоритмов, применимых к разным типам данных. В-третьих, использование безымянных функций, которые не предполагают лексического токена, а именование сущностей делает возможным ссылки на них, которые могут использоваться позже.