Презентация, доклад по дисциплине Основы программирования и баз данных на тему Языки программирования высокого уровня

Содержание

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

Слайд 1Основы программирования и БД
Тема: Языки программирования высокого уровня

Программная реализация метода кубической

интерполяции

преподаватель Новиков А. В.

Основы программирования и БДТема: Языки программирования высокого уровняПрограммная реализация метода кубической интерполяциипреподаватель Новиков А. В.

Слайд 2Метод кубической интерполяции
В методах полиномиальной аппроксимации при построении многочлена, аппроксимирующего минимизируемую

функцию в окрестности искомой точки х* минимума, помимо значений функции в отдельных точках могут быть использованы и значения ее производных.
Пусть для непрерывно дифференцируемой функции f(x), строго выпуклой на отрезке [a,b], известны значения f1 = f(a), f2 = f(b), f1' = f '(a) и f2' = f '(b). Для строго выпуклой функции производная f'(x) возрастает на отрезке. Поэтому если значения f1' и f2' одного знака, т.е. f1'f2' > 0, то дифференцируемая функция f(x) не имеет стационарных точек на отрезке [a, b] и, следовательно, не имеет на нем точки минимума. Если f1'f2' = 0, то один из концов отрезка является стационарной точкой функции f(x), в которой эта функция имеет минимум.
Метод кубической интерполяцииВ методах полиномиальной аппроксимации при построении многочлена, аппроксимирующего минимизируемую функцию в окрестности искомой точки х*

Слайд 3Наконец, если f1'f2' < 0, то для строго выпуклой функции
f1

< 0 и f2 > 0. Следовательно, лишь единственная точка х*  (a, b) будет стационарной, и в ней функция f(x) достигнет минимума. Таким образом, если f1'f2' < 0 на отрезке [a, b], то рассматриваемая функция строго унимодальна на этом отрезке.
Рассмотрим метод поиска точки х*  (a, b) при условии
f1'f2' < 0 называемый методом кубической аппроксимации, поскольку в этом случае на отрезке [a, b] можно построить единственный многочлен третьей степени, располагая значениями f1, f2, f1', f2' на концах этого отрезка. Этот многочлен, называемый кубическим интерполяционным многочленом Эрмита, можно преобразовать к виду
Наконец, если f1'f2' < 0, то для строго выпуклой функции f1 < 0 и f2 > 0.

Слайд 4с коэффициентами






Несложно проверить, что Н3(a) = f1, H3(b) = f2,
Н'3(a)

= f1 ' и Н'3(b) = f2 '
с коэффициентамиНесложно проверить, что Н3(a) = f1, H3(b) = f2, Н'3(a) = f1 ' и Н'3(b) =

Слайд 5Производная Н'3(х) является квадратичной функцией, непрерывной на отрезке [a,b] и имеющей

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

Производная Н'3(х) является квадратичной функцией, непрерывной на отрезке [a,b] и имеющей на его концах различные знаки. Поэтому

Слайд 6Его решение, принадлежащее интервалу (a, b), представим в виде

, где



и покажем, что . Действительно, поскольку f1' < 0 и f2' > 0, имеем

Его решение, принадлежащее интервалу (a, b), представим в виде

Слайд 7Следовательно,

и
Если , то

— искомая точка минимума функции f(x) на отрезке [a, b]. Если же , то в случае можно отбросить отрезок и продолжать описанным выше способом поиск точки минимума на отрезке , и наоборот.
Следовательно,иЕсли         , то

Слайд 8После каждого приближения правильность вычислений подтверждается уменьшением минимального значения многочлена по

сравнению с его минимальным значением на предыдущем шаге. Вычисления можно прекратить, когда длина интервала неопределенности, в котором гарантированно находится искомая точка x*, станет меньше заданной наибольшей допустимой величины *.


После каждого приближения правильность вычислений подтверждается уменьшением минимального значения многочлена по сравнению с его минимальным значением на

Слайд 9Для реализации алгоритма кубической аппроксимации можно воспользоваться программой MathCAD
Рассмотрим следующую задачу.
Задача.

Найти минимум функции
на интервале [8 12] с точностью  ≤ 0,0001.
Решение. Задаем функцию, построим ее график и убедимся, что она имеет минимум на заданном интервале.

Для реализации алгоритма кубической аппроксимации можно воспользоваться программой MathCADРассмотрим следующую задачу.Задача. Найти минимум функции на интервале [8

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

на интервале [a,b]
Анализ построенного графика показывает, что исследуемая функция действительно имеет локальный минимум на интервале [a,b]

Слайд 11Модуль cub имеет список формальных параметров (a,b,), где а – левая

граница; b – правая граница интервала значений аргумента;  - требуемая точность результатов расчета. Для вычислений используется итерационный цикл while. Дальнейшие вычисления в цикле прекращаются, если модуль произведения значений производных 1 – ого порядка меньше требуемой точности . Для анализа результатов вычислений модулем выдаются следующие параметры: n – число итераций; x – приближенное значение аргумента при котором функция имеет локальный минимум; F(x) – значение функции в точке минимума; f(x) – значение производной 1 – ого порядка в точке минимума.
Модуль cub имеет список формальных параметров (a,b,), где а – левая граница; b – правая граница интервала

Слайд 12При вводе фактических параметров
a = 9, b = 11 и 

= 0.0001 модуль cub выводит следующие параметры:
число итераций n = 2;
значение аргумента x = 10.0662
значение функции в точке локального минимума F(10.0662) =
-4.1217;
модуль произведения значений производных 1 – ого порядка.

Последние три строки программы – это проверка полученного результата с помощью встроенной функции вычисления минимума функции одной переменной minimize. Функция имеет два входных аргумента: имя исследуемой функции и начальную точку x из интервала [a, b]. В последней строке кода отображено значение функции в точке локального минимума.
Отсюда видно, что результаты расчетов совпадают.

При вводе фактических параметровa = 9, b = 11 и  = 0.0001 модуль cub выводит следующие

Слайд 13Самостоятельная работа
Задача 1. Найти минимум функции

на интервале [0 1] с точностью до 0,0001. (Ответ: х = 0.7388)
Задача 2. Найти минимум функции F(x) = x4 + х2 + x + 1 на интервале [-1 0] с точностью до 0,0001.
(Ответ: х = - 0.3855)
Задача 3. Найти минимум функции на интервале [0 10] с точностью до 0,0001. (Ответ: х = 3)
Задача 4. Найти минимум функции F(x) = x3 + 16х2 - 10x – 21 на интервале [0 6] с точностью до 0,0001. (Ответ: х = 0.3038)
Самостоятельная работаЗадача 1. Найти минимум функции

Слайд 14Литература

1. А.В. Аттетков, С.В. Галкин, В.С. Зарубин. Методы оптимизации: Учеб. для

вузов – 2-е изд. стереотип. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2003. 440 с.
2. Половко А.М., Ганичев И.В. MathCAD для студента. – СПб.: БХВ – Петербург, 2006. – 336 с.
Литература1. А.В. Аттетков, С.В. Галкин, В.С. Зарубин. Методы оптимизации: Учеб. для вузов – 2-е изд. стереотип. –

Что такое shareslide.ru?

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


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть