- •«Разработка программного комплекса решения математической задачи численными методами»
- •1. Описание программы……………………………………………………….......7
- •2. Описание применения 11
- •3. Руководство программиста 15
- •4. Описание контрольного примера 18
- •1.2.1 Классы решаемых задач
- •1.2.2 Функциональные ограничения
- •1.3. Описание логической структуры
- •1.3.1. Алгоритм используемого метода
- •1.3.2. Структура программы
- •1.4. Используемые технические средства
- •1.4.1. При разработке
- •1.4.2. Минимальные требования
- •5. Текст программы 23 Заключение 27 Библиографический список 28
- •1.Описание программы
- •1.1 Общие сведения
- •1.2 Функциональное назначение
- •2.1.2 Ограничения программы
- •2.3. Описание задачи
- •Правила исключения интервалов
- •2.4. Входные данные
- •2.5 Выходные данные
- •3.Руководство программиста
- •3.1. Назначение и условия применения
- •3.1.1 Назначение программы
- •3.1.2 Условия применения программы
- •3.4. Входные и выходные данные.
- •3.4.1. Входные данные.
- •3.4.2. Выходные данные.
- •3.5. Сообщения Сообщения, возникают на экране во время выполнения данной программы в случае четырех возможных ошибок:
- •Текст программы
2.1.2 Ограничения программы
Программа корректно выполняется только в случае, если задана унимодальная функция одной переменной. Функция задается многочленом, максимальная степень которого не превышает пятой.
2.2. Условия применения
Требования к необходимым для данной программы техническим средствам:
- IBM PC совместимый компьютер;
- 32-разрядная среда операционной системы;
- графическая оболочка ОС;
- обработчик hlp-файлов в системе;
- достаточный объем свободной оперативной памяти (около 5Мб при работе в Windows XP с улучшенным оформлением окна);
- достаточное место на жестком, гибком, сетевом, оптическом или RAM-диске объемом около 50 Кб;
- устройства ввода информации (клавиатура и оптическая мышь);
- устройство вывода графической информации с видеоадаптера (монитор, проектор).
Работа программы происходит в однопользовательском режиме. Параметры, необходимые для выполнения программы, вводит пользователь в соответствующие поля главного окна программы. Результаты выводятся в отведенные для них ячейки главного окна.
2.3. Описание задачи
Процесс разработки интерактивной прикладной программы, осуществляет оптимизацию унимодальной функции одной переменой на заданном интервале методом деления отрезка пополам, или методом дихотомии.
Определение: функция f(x), заданная на интервале a<=x<=b называется унимодальной на [a,b], если существует единственная точка x* минимума f(x), т.е. f(x*)=min f(x) {на a<=x<=b}, и если для любых двух точек x1,x2 принадлежащих [a,b] выполняется соотношение:
-из неравенств x1<x2<=x* следует f(x1)>f(x2);
-из неравенств x2>x1=>x* следует f(x1)<f(x2).
Необходимые условия того, что x* является точкой локального минимума (максимума) дважды дифференцируемой функции f на открытом интервале (a,b) выражаются следующими соотношениями:
1
)
df 2) d2f
=0
=>0 (<=0)
dx x=x* dx2 x=x*
Достаточные условия экстремума
Пусть в точке x* первые (n-1) производные функции обращаются в нуль, а производная порядка n отлична от нуля.
1) Если n-нечетное, то x*-точка перегиба.
2) Если n-четное, то x*-точка локального оптимума.
Кроме того,
а) если эта производная положительная, то x*-точка локального минимума;
б) если эта производная отрицательная, то x*-точка локального максимума
Правила исключения интервалов
Пусть функция f унимодальна на интервале axb, а ее минимум достигается в точке x*.
Рассмотрим точки x1 и x2, расположенные в интервале таким образом, что a<x1<x2<b. Сравнивая значения функции в точках x1 и x2, можно сделать следующие выводы:
1.Если f(x1)>f(x2), то точка минимума f(x) не лежит в интервале (a,x1), т.е. x*(x1,b) (см. рис.3)
f(x)
f (x1)
f (x2)
a
x1
x*
x2
b x
Рис.3. Первый вариант расположения точки минимума
2.Если f(x1)<f(x2), то точка минимума не лежит в интервале (x2,b), т.е. x*(a,x2) (см. рис.4)
f
(x)
f (x1)
f (x2)
a
x1
x* x2
b x
Рис.4. Второй вариант расположения точки минимума
3.Если f(x1)=f(x2), то можно исключить оба крайних интервала (a,x1) и (x2,b), при этом x*(x1,x2).
Согласно правилам исключения интервалов можно реализовать процедуру поиска, позволяющую найти точку оптимума путем последовательного исключения частей исходного ограниченного интервала. Поиск завершается, когда оставшийся интервал уменьшается до достаточно малых размеров.
