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

2016-07-30СтудИзба

Описание файла

Документ из архива "Создание функциональной модели вычисления минимума заданной функции методом парабол", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49079"

Текст из документа "49079"

СОДЕРЖАНИЕ

Введение

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

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

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

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

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

Заключение

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

                  1. ВВЕДЕНИЕ

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

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

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

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

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

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)

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

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

должен быть > 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)

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее