Рефетека.ру / Информатика и програм-ие

Курсовая работа: Создание функциональной модели вычисления минимума заданной функции методом парабол

СОДЕРЖАНИЕ


Введение

1 Постановка задачи

2 Математические и алгоритмические основы решения задачи

3 Функциональные модели и блок-схемы решения задачи

4 Программная реализация решения задачи

5 Пример выполнения программы

Заключение

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

ВВЕДЕНИЕ


Задачи поиска максимума эквивалентны задачам поиска минимума, так как требуется лишь поменять знак перед функцией. Для поиска минимума необходимо определить интервал, на котором функция могла бы иметь минимум. Для этого можно использовать графическое представление функции, аналитический анализ аппроксимирующей функции и сведения о математической модели исследуемого процесса (т.е. законы поведения данной функции).

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

Учесть информацию о значениях функции между точками позволяют методы полиномиальной аппроксимации. Их основная идея заключена в том, что функция аппроксимируется полиномом, а точка его минимума служит приближением к минимуму. Разумеется, в этом случае кроме свойства унимодальности (т.е. наличия единственного минимума на рассматриваемом отрезке), необходимо на функцию наложить и требования достаточной гладкости для ее полиномиальной аппроксимации.

Для повышения точности поиска минимума можно как увеличивать степень полинома, так и уменьшать пробный отрезок. Поскольку первый прием приводит к заметному увеличению вычислительной работы и появлению дополнительных экстремумов, обычно пользуются полиномами второй (метод парабол) или третьей (метод кубической интерполяции) степени.

Целью данной курсовой работы является рассмотрение метода парабол для поиска минимума функции.

1 Постановка задачи


Функция Создание функциональной модели вычисления минимума заданной функции методом парабол имеет локальный минимум при некотором Создание функциональной модели вычисления минимума заданной функции методом парабол, если существует некоторая конечная ξ-окрестность этого элемента, в которой


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


Требуется, чтобы на множестве X функция f(x) была по крайней мере кусочно-непрерывной.

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

Задачу называют детерминированной, если погрешностью вычисления (или экспериментального определения) функции f(x) можно пренебречь. В противном случае задачу называют стохастической.

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

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


Создание функциональной модели вычисления минимума заданной функции методом парабол.


Минимум параболы достигается при Создание функциональной модели вычисления минимума заданной функции методом парабол, т.е. при Создание функциональной модели вычисления минимума заданной функции методом парабол. Для трех точек получаем систему трех линейных уравнений для коэффициентов a, b, c. Находим a и b и тогда:

Создание функциональной модели вычисления минимума заданной функции методом парабол.


Пример 1. Найти минимум функции Создание функциональной модели вычисления минимума заданной функции методом парабол методом парабол на промежутке [-5; 3] с требуемой точностью Создание функциональной модели вычисления минимума заданной функции методом парабол0,0001.


Решение:

k номер итерации

Создание функциональной модели вычисления минимума заданной функции методом парабол

Создание функциональной модели вычисления минимума заданной функции методом парабол

1 -3,872291 0,010093
2 -3,871639 0,000004

Таблица 1. Пример 1


Так как Создание функциональной модели вычисления минимума заданной функции методом парабол < Создание функциональной модели вычисления минимума заданной функции методом парабол, следовательно минимум x = -3,871639.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 1. Функция Создание функциональной модели вычисления минимума заданной функции методом парабол


Пример 2. Найти минимум функции Создание функциональной модели вычисления минимума заданной функции методом парабол методом парабол на промежутке [-2; -1] с требуемой точностью Создание функциональной модели вычисления минимума заданной функции методом парабол0,0001.


Решение:

k номер итерации

Создание функциональной модели вычисления минимума заданной функции методом парабол

Создание функциональной модели вычисления минимума заданной функции методом парабол

1 -1,882843 0,831300
2 -1,919519 -0,009568
3 -1,919112 -0,000004

Таблица 2. Пример 2


Так как Создание функциональной модели вычисления минимума заданной функции методом парабол < Создание функциональной модели вычисления минимума заданной функции методом парабол, следовательно минимум x = -1,919112.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 2. Функция Создание функциональной модели вычисления минимума заданной функции методом парабол


Пример 3. Найти минимум функции Создание функциональной модели вычисления минимума заданной функции методом парабол методом парабол на промежутке [-1; -0,5] с требуемой точностью Создание функциональной модели вычисления минимума заданной функции методом парабол0,00001.

Решение:


k номер итерации

Создание функциональной модели вычисления минимума заданной функции методом парабол

Создание функциональной модели вычисления минимума заданной функции методом парабол

1 -0,497419 0,116021
2 -0,451529 -0,003278
3 -0,450185 -0,000003

Таблица 3. Пример 3


Так как Создание функциональной модели вычисления минимума заданной функции методом парабол < Создание функциональной модели вычисления минимума заданной функции методом парабол, следовательно минимум x = -0,450185.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 3. Функция Создание функциональной модели вычисления минимума заданной функции методом парабол

2 Математические и алгоритмические основы решения задачи


Пусть Создание функциональной модели вычисления минимума заданной функции методом парабол имеет первую и вторую производную. Разложим Создание функциональной модели вычисления минимума заданной функции методом парабол в ряд Тейлора в некоторой точке Создание функциональной модели вычисления минимума заданной функции методом парабол, ограничиваясь при этом тремя членами разложения:


Создание функциональной модели вычисления минимума заданной функции методом парабол. (3)


Иными словами, аппроксимируем нашу функцию в точке Создание функциональной модели вычисления минимума заданной функции методом парабол, параболой (рисунок 1). Для этой параболы можно аналитически вычислить положение экстремума как корень уравнения первой производной от (3):


Создание функциональной модели вычисления минимума заданной функции методом парабол.


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


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 4. Поиск минимума функции методом парабол

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


Создание функциональной модели вычисления минимума заданной функции методом парабол


Создание функциональной модели вычисления минимума заданной функции методом парабол


Это эквивалентно аппроксимации функции параболой, проходящей через три близкие точки


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


Окончательное выражение, по которому можно строить итерационный процесс, таково:


Создание функциональной модели вычисления минимума заданной функции методом парабол (4)


Данный метод отличается от других методом поиска минимума высокой скоростью сходимости. Вблизи экстремума, вплоть до расстояний ~Создание функциональной модели вычисления минимума заданной функции методом парабол, сходимость практически не отличается от квадратичной. Однако алгоритм требует постоянного контроля сходимости. Например, итерационный процесс будет сходиться к минимуму, если:

знаменатель формулы


Создание функциональной модели вычисления минимума заданной функции методом парабол


должен быть > 0. Если это не так, нужно сделать шаг в обратном направлении, причем достаточно большой. Обычно в итерационном процессе полагают


Создание функциональной модели вычисления минимума заданной функции методом парабол.


Иногда ради упрощения расчетов полагают


Создание функциональной модели вычисления минимума заданной функции методом парабол,


однако это существенно уменьшает скорость сходимости.

2) Создание функциональной модели вычисления минимума заданной функции методом парабол если это не так, то от Создание функциональной модели вычисления минимума заданной функции методом парабол следует сделать шаг


Создание функциональной модели вычисления минимума заданной функции методом парабол,

с Создание функциональной модели вычисления минимума заданной функции методом парабол.


Если и при этом условие убывания не выполнено, уменьшают τ и вновь делают шаг.


3 Функциональные модели и блок-схемы решения задачи


Функциональные модели и блок-схемы решения задачи представлены на рисунке 5, 6.


Используемые обозначения:

X0, MIN_VAL – начальная точка;

H, MAX_VAL – конечная точка;

EPS – требуемая точность;

FN – функция для вычисления минимума;

X1 – вспомогательная точка;

X2 – вспомогательная точка;

XN – вспомогательная точка;

F_X0 – функция от начальной точки X0;

F_X1 – функция от вспомогательной точки X1;

F_X2 – функция от вспомогательной точки X2;

F_XN – функция от вспомогательной точки XN;

Q – рабочая переменная;

A – рабочая переменная;

B – рабочая переменная;

C – рабочая переменная;

D – рабочая переменная;

Z – рабочая переменная;

K – рабочая переменная.

Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 5 – Блок-схема решения задачи для функции PARABL_METHOD

Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 6 – Функциональная модель решения задачи для поиска минимума


4 Программная реализация решения задачи


;ЗАГРУЖАЕМ ФУНКЦИЮ, МИНИМАЛЬНОЕ И МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ,

;ТРЕБУЕМУЮ ТОЧНОСТЬ ИЗ ФАЙЛА

(LOAD "D:\\FUNCTION.TXT")


;ОЪЯВЛЯЕМ ФУНКЦИЮ PARABL_METHOD ДЛЯ ПОИСКА МИНИМУМА ФУНКЦИИ

;X0 - НАЧАЛЬНАЯ ТОЧКА

;H - КОНЕЧНАЯ ТОЧКА

;EPS - ТОЧНОСТЬ ВЫЧИСЛЕНИЯ

;FN - ФУНКЦИЯ ДЛЯ ВЫЧИСЛЕНИЯ МИМИМУМА

(DEFUN PARABL_METHOD (X0 H EPS FN)

;ОБЪЯВЛЯЕМ ПЕРЕМЕННЫЕ

;---------------------

;ТРИ ВСПОМОГАТЕЛЬНЫЕ ТОЧКИ

(DECLARE (SPECIAL X1))

(DECLARE (SPECIAL X2))

(DECLARE (SPECIAL XN))

;ФУНКЦИИ ОТ ТОЧЕК

(DECLARE (SPECIAL F_X0))

(DECLARE (SPECIAL F_X1))

(DECLARE (SPECIAL F_X2))

(DECLARE (SPECIAL F_XN))

;ВСПОМОГАТЕЛЬНЫЕ ПЕРЕМЕННЫЕ

(DECLARE (SPECIAL Q))

(DECLARE (SPECIAL A))

(DECLARE (SPECIAL B))

(DECLARE (SPECIAL C))

(DECLARE (SPECIAL D))

(DECLARE (SPECIAL Z))

;---------------------


;УСТАНАВЛИВАЕМ ПЕРВУЮ ТОЧКУ

(SETQ X1 (+ X0 H))

;УСТАНАВЛИВАЕМ ВТОРУЮ ТОЧКУ

(SETQ X2 (+ X0 (* 2 H)))


;ВЫЗЫВАЕМ ФУНКЦИЮ FN

;ВЫЧИСЛЯЕМ ЗНАЧЕНИЯ ФУНКЦИИ В ВЫБРАННЫХ ТОЧКАХ

(SETQ F_X0 (FUNCALL FN X0))

(SETQ F_X1 (FUNCALL FN X1))

(SETQ F_X2 (FUNCALL FN X2))


(DO

((K 0))

;МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ШАГОВ 10000 (>= K 10000)

((>= K 10000))


;ВЫПОЛНЯЕМ ДЕЙСТВИЯ СОГЛАСНО АЛГОРИТМУ ПОИСКА МИНИМУМА МЕТОДОМ ПАРАБОЛ

(SETQ Q (/ (- X0 X1) (- X1 X2)))

(SETQ A (+ (- (* Q F_X0) (* (* Q (+ 1 Q)) F_X1)) (* Q Q F_X2)))

(SETQ B (+ (- (* (+ (* 2 Q) 1) F_X0) (* (+ 1 Q) (+ 1 Q) F_X1)) (* Q Q F_X2)))

(SETQ C (* (+ 1 Q) F_X0))

(SETQ D (SQRT (- (* B B)(* 4 A C))))

(IF (> (ABS (+ B D)) (ABS (- B D)))

(SETQ Z (+ B D))

(SETQ Z (- B D))

)


(SETQ XN (- X0 (/ (* (- X0 X1) 2 C) Z)))

(SETQ F_XN (FUNCALL FN XN))


;ПРОВЕРЯЕМ ДОСТИГЛИ ЛИ МЫ ТРЕБУЕМОЙ ТОЧНОСТИ

(IF (< (ABS F_XN) EPS) (SETQ K 10000))


;ЗАДАЕМ НОВЫЕ ЗНАЧЕНИЯ ТОЧКАМ

(SETQ X2 X1)

(SETQ X1 X0)

(SETQ X0 XN)


;ВЫЧИСЛЯЕМ ЗНАЧЕНИЯ ФУНКЦИЙ В ТОЧКАХ

(SETQ F_X2 F_X1)

(SETQ F_X1 F_X0)

(SETQ F_X0 F_XN)


;УВЕЛИЧИВАЕМ СЧЕТЧИК

(SETQ K (+ K 1))

)

;ВОЗВРАЩАЕМ МИНИМУМ ФУНКЦИИ

XN

)


;ВЫЗЫВАЕМ ФУНКЦИЮ PARABL_METHOD

(SETQ MIMIMUM (PARABL_METHOD MIN_VAL MAX_VAL EPS (FUNCTION FUNC)))


;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ

(SETQ OUTPUT_STREAM (OPEN " D:\MINIMUM.TXT" :DIRECTION :OUTPUT))

;ЗАПИСЫВАЕМ МИНИМУМ

(PRINT 'MIMIMUM OUTPUT_STREAM)

(PRINT MIMIMUM OUTPUT_STREAM)

;ЗАКРЫВАЕМ ФАЙЛ

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)


5 Пример выполнения программы


Пример 1.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 7 – Входные данные


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 8 – Выходные данные


Пример 2.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 9 – Входные данные


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 10 – Выходные данные

Пример 3.


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 11 – Входные данные


Создание функциональной модели вычисления минимума заданной функции методом парабол

Рисунок 12 – Выходные данные

ЗАКЛЮЧЕНИЕ


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

Итогом работы можно считать созданную функциональную модель вычисления минимума заданной функции методом парабол. Данная модель применима к детерминированным задачам, т.е. погрешностью экспериментального вычисления функции f(x) можно пренебречь. Созданная функциональная модель вычисления минимума заданной функции методом парабол и ее программная реализация могут служить органической частью решения более сложных задач.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ и литературы


Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев. – М.: Наука, 2007. – 708 с.

Кремер, Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш.Кремер, 3-е издание – М.:ЮНИТИ-ДАНА, 2006. C. 412.

Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. – М.: Питер, 2001. С. 504.

Поиск минимума функции [Электронный ресурс] – Режим доступа: http://solidbase.karelia.ru/edu/meth_calc/files/12.shtm

Семакин, И.Г. Основы программирования. [Текст] / И.Г.Семакин, А.П.Шестаков. – М.: Мир, 2006. C. 346.

Симанков, В.С. Основы функционального программирования [Текст] / В.С. Симанков, Т.Т. Зангиев, И.В. Зайцев. – Краснодар: КубГТУ, 2002. – 160 с.

Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В. Бржезовский. – М.: ГУАП, 2003. С. 79.

Хювенен Э. Мир Лиспа [Текст] / Э. Хювенен, Й. Сеппянен. – М.: Мир, 1990. – 460 с.

Создание функциональной модели вычисления минимума заданной функции методом парабол

Похожие работы:

  1. Программа вычисления минимума заданной функции
  2. • Численное интегрирование функции методом Гаусса
  3. • Вычисление элементарных функций
  4. • Вычисление элементарных функций
  5. • Функциональное и логическое программирование
  6. • Разработка специализированного процессора для ...
  7. • Линейное и нелинейное программирование
  8. • Программная модель поиска глобального минимума ...
  9. • Численное интегрирование методом Гаусса
  10. • ЛИСП-реализация основных способов вычисления гамма ...
  11. • Программа, формирующая таблицу истинности для функции F=A+C ...
  12. • Методы оптимизации функций многих переменных
  13. • Вычислительная математика
  14. • Функциональное программирование
  15. • Минимум функции многих переменных
  16. • Особенности вычисления определителя матрицы
  17. • Расчет двойного интеграла при помощи метода Симпсона
  18. • Использование функционально-стоимостного анализа в ...
  19. • Построение интерполяционного многочлена и вычисление по нему ...
Рефетека ру refoteka@gmail.com