- •Оглавление
- •1.4 Используемые технические средства
- •2.4 Входные и выходные данные
- •3. Руководство программиста
- •3.1 Назначение и условия применения программы
- •3.2 Характеристики программы
- •3.3 Обращение к программе
- •3.4 Входные и выходные данные
- •3.5 Сообщения
- •4. Описание контрольного примера
- •5. Листинг программы
Оглавление
Описание программы 4
Общие сведения 4
Функциональное назначение 4
Описание логической структуры 4
Используемые технические средства 5
Вызов и загрузка 6
Входные и выходные данные 6
Описание применения 6
Назначение программы 6
Условия применения 6
Описание задачи 7
Входные и выходные данные 8
Руководство программиста 8
Назначение и условия применения программы 8
Характеристики программы 9
Обращение к программе 9
Входные и выходные данные 9
Сообщение 9
Описание контрольного примера 11
5. Листинг программы 13
Библиографический список 17
1. Описание программы
1.1 Общие сведения
Программа: «Оптимизация функции одной переменной методом дихотомии»
Программное обеспечение, необходимое для функционирования программы:
Операционная среда Windows 95/98/Me/2k/XP
Microsoft Visual Studio 2005
Среда разработки – Microsoft Visual Studio 2005
Программа написана на языке C++
1.2 Функциональное назначение
Программа предназначена для поиска минимума и максимума функции на заданном интервале. Используется для функций вида с максимальной степенью х, равной 5.
1.3 Описание логической структуры
Алгоритм:
Положим, что xn = . Длина отрезка L = (|B| – |A|). Вычислим f(xn).
x1 = A + , x2 = B - . Вычисляем f(x1) и f(x2).
Если f(x1) < f(xn), то исключаем интервал [xn , B], для этого B = xn, xn = x1. Переход к шагу 5. Иначе к шагу 4.
Если f(x2) < f(xn), то исключаем интервал [A , xn] для этого A = xn, xn = x2. Переход к шагу 5. Иначе исключаем интервалы [A , x1] [x2 , B], для этого A = x1, B = x2.
Вычисляем L = B – A. Если L ≤ ε, то конец алгоритма. Иначе переход к шагу 2.
Окончание алгоритма включает в себя x* = xm, f (x*) = f(xm)
Логическая структура:
5 функций:
1. main() – главная функция
Основные задачи:
- Диалог с пользователем
- Ввод коэффициентов, интервала и точности
- Вывод результата
2. menu() – функция, типа void. Назначение – текст главного меню программы.
3. out() – функция, типа void. Назначение – вывод данных на экран.
4. dihotomy() – функция, типа double. Назначение – выполнение алгоритма.
5. func() – функция, типа double. Назначение – функция f(x).
Связь программы с другими программами:
Операционная система
Файловая система
1.4 Используемые технические средства
При написании программы использовался компьютер:
Процессор – Intel Core 2 Duo E8400, 4050 MHz (9 x 450)
ОЗУ – 4096Мб.
Видеоадаптер – ATI Radeon HD 4850 (512 Мб)
Минимальный набор периферийного оборудования.
Минимальные требования:
Процессор Intel Pentium II.
Наличие не менее 16Mб ОЗУ.
Наличие не менее 1Мб свободного дискового пространства.
SVGA – графический адаптер.
Минимальный набор периферийного оборудования.
1.5 Вызов и загрузка
Для начала работы программы необходимо запустить файл dichotomy.exe
1.6 Входные и выходные данные
Входные данные:
1. Коэффициенты функции (a0,а1,а2,a3,а4,а5) – действительные числа
2. Интервал поиска – действительные числа
3. Точность – пользователь может указать точность большую 0,000001
Выходные данные:
Значение максимума и минимума.
2. Описание применения
2.1 Назначение программы
Программа предназначена для поиска минимума и максимума функции на заданном интервале. Используется для функций вида с максимальной степенью х, равной 5.
2.2 Условия применения
Минимальные требования:
Процессор Intel Pentium II.
Наличие не менее 16Mб ОЗУ.
Наличие не менее 1Мб свободного дискового пространства.
SVGA – графический адаптер.
Минимальный набор периферийного оборудования.
Программное обеспечение, необходимое для функционирования программы:
Операционная среда Windows 95/98/Me/2k/XP
Microsoft Visual Studio 2005
2.3 Описание задачи
Задача:
Найти минимум и максимум функции на заданном интервале для функций вида с максимальной степенью х, равной 5.
Математическая постановка и решение задачи:
Одним из методов оптимизации является метод дихотомии.
Положим, что xn = . Длина отрезка L = (|B| – |A|). Вычислим f(xn).
x1 = A + , x2 = B - . Вычисляем f(x1) и f(x2).
Если f(x1) < f(xn), то исключаем интервал [xn , B], для этого B = xn, xn = x1. Переход к шагу 5. Иначе к шагу 4.
Если f(x2) < f(xn), то исключаем интервал [A , xn] для этого A = xn, xn = x2. Переход к шагу 5. Иначе исключаем интервалы [A , x1] [x2 , B], для этого A = x1, B = x2.
Вычисляем L = B – A. Если L ≤ ε, то конец алгоритма. Иначе переход к шагу 2.
Окончание алгоритма включает в себя x* = xm, f (x*) = f(xm)