Методы интерполяции Численные методы в оптике кафедра прикладной и компьютерной оптики 2 Интерполяция, экстраполяция, аппроксимация Интерполяция – определение промежуточных значений функции по известному набору значений функции fi , x i интерполяция Экстраполяция – определение значений функции за пределами первоначально известного интервала fi , x i экстраполяция Аппроксимация – определение коэффициентов функции, описывающей распределение точек g(x) аппроксимация f1 x1 f2 x2 … … fi xi … … fn xn 3 Задача интерполяции Пусть функция f(x) задана таблицей своих значений xi, yi: на интервале [a; b]: y x yi f xi i 0,1,, n a xi b Задача интерполяции - найти функцию F(x), принимающую в точках xi те же значения yi точки xi – узлы интерполяции условие F(x)= yi – условие интерполяции 1 1 y2 x2 … … yi … … yn Через заданные точки можно провести бесконечно много кривых, для каждой из которых выполнены все условия интерполяции Для практики важен случай аппроксимации функции многочленами: F x a0 a1 x a2 x 2 ... am x m xi xn 4 Локальная и глобальная интерполяция Глобальная интерполяция функция f(x) интерполируется на всем интервале [a; b] с помощью единого интерполяционного полинома Pm x a0 a1 x a2 x 2 ... am x m обычно m=n, т.е. степень полинома выбирается равной количеству узлов на практике не всегда применима Локальная (кусочно-полиномиальная) интерполяция на каждом интервале [xi , xi+1 ] строится отдельный интерполяционный полином невысокой степени 5 Кусочно-линейная интерполяция Узловые точки соединяются отрезками прямых через каждые две точки xi , xi+1 проводится полином первой степени: F xi a0 a1 xi i 0,1,, n коэффициенты a0 , a1 разные на каждом интервале [xi , xi+1 ]: a1 f ( xi ) f ( xi 1 ) xi xi 1 a0 f ( xi-1 ) a1 xi-1 xi xi+1 6 Кусочно-квадратичная интерполяция Квадратичная интерполяция проводит через узловые точки уравнение параболы: F xi a0 a1 xi a2 xi2 i 0,1,, n коэффициенты a0 , a1 , a2 разные на каждом интервале[xi , xi+1 ]: a2 f ( xi 1 ) f ( xi 1 ) f ( xi ) f ( xi 1 ) xi 1 xi 1 xi 1 xi xi xi 1 xi 1 xi a1 f ( xi ) f ( xi 1 ) a2 xi xi 1 xi xi 1 a0 f ( xi-1 ) a1 xi-1 a2 xi-21 xi-1 xi xi+1 7 Многочлен Лагранжа На всем интервале [a; b] строится единый полином: n Ln x yi li ( x) i 0 где li(x) – базисные полиномы степени n: x x0 x x1 x xi1 x xi1 x xn x xk xi x0 xi x1 xi xi1 xi xi1 xi xn k 1 xi xk n li ( x) k i полином Лагранжа имеет малую погрешность при небольших значениях n<20. При больших n погрешность начинает расти 8 Многочлен Ньютона (разделенные разности) Разделенные разности первого порядка: f xi , xi 1 f xi 1 f xi xi 1 xi Разделенные разности второго порядка: f x i , x i 1 , x i 2 f x i 1 , x i 2 f x i , x i 1 xi 2 xi Разделенная разность порядка f xi , xi 1,, xi k k 2: f xi 1,, xi k f xi ,, xi k 1 xi k xi 9 Многочлен Ньютона Pn ( x) f x0 f x0 , x1 x x0 f x0 , x1 , x2 x x0 x x1 f x0 , x1 ,, xn x x0 x x1 x xn1 где f x0 , f x0 , x1 , f x0 , x1 , x2 , f x0 , x1 ,, xn - разделенные разности 1, 2, 3, n-го порядков если необходимо увеличить степень многочлена на единицу, добавив в таблицу еще один узел для многочлена Лагранжа необходимо вычислять каждое слагаемое заново для многочлена Ньютона достаточно добавить одно слагаемое f x0 ,, xn , xn1 x x0 x x1 x xn1 Если функция достаточно гладкая, то: f x Pn x Pn 1 x Pn x Погрешность интерполяции: . n Pn 1 x Pn x 10 Лабораторная работа №3 Сгенерировать выборку функции (размером 10 элементов). Выполнить интерполяцию кусочно-линейным и кусочно-квадратичным методами, а также интерполяционными многочленами Лагранжа и Ньютона, и перейти на выборку размером 100 точек. Прочитать из файла выборку и перейти на другую размерность выборки при помощи интерполяции кусочно-линейным и кусочноквадратичным методами. Задание оценивается в баллах: 4 балла - выполнение интерполяции различными методами + 2 балла первому кто выполнит задание 2 балла - переход на другую размерность выборки + 2 балла первому кто выполнит задание + 1 балл - выполнение работы в срок 11 Переход на новую размерность выборки Преобразование Фурье (лекция №5) – быстрые алгоритмы работают наиболее эффективно с выборками, размерность которых является 2n, т.е. 2, 4, 16, 32, 64, 128, 256, 512, 1024, 2048 и т.д. Если предыдущие вычисления были выполнены для другой размерности выборки, необходимо перейти на выборку другого размера например: было 100, стало 128 было 512, стало 501