Автор работы: Пользователь скрыл имя, 08 Декабря 2011 в 19:46, лабораторная работа
Интерполяция - это нахождение значения функций между ее узлами. Пусть известны значения функции в n+1 узловых точках f(xi),(i=0,1,2,…,n). Найти значение функции в промежуточных точках х, не совпадающих с хi,(i=0,1,2,…,n). При решении этой задачи находят многочлен степени n, совпадающий со значениями функции в узловых точках, и вычисляют значение функции в точке х.
Интерполяция - это нахождение значения функций между ее узлами. Пусть известны значения функции в n+1 узловых точках f(xi),(i=0,1,2,…,n). Найти значение функции в промежуточных точках х, не совпадающих с хi,(i=0,1,2,…,n). При решении этой задачи находят многочлен степени n, совпадающий со значениями функции в узловых точках, и вычисляют значение функции в точке х.
Если n=1, т.е. имеем две узловые точки, то такая интерполяция называется линейной. Формула линейной интерполяции имеет вид (рис1).
L1(x)=k(x-x0)+f(x0), где k=(f(x1)-f(x0))/(x1-x0)
Оценим погрешность линейной интерполяции для случая, когда f имеет первую и вторую производные. Зададим значение функции на [х0,х1] отрезком ряда Тейлора с учетом двух членов разложения в х0.
f(x)=f(x0)+f x’ (x-x 0)+1/2f x” (x-x 0)2, x 0<=x 1<=x 1. Тогда значение f в х равно
f(x 1)=f(x0)+fx’(x)h+1/2fx”(x1)h2, где h=x1-x0,x0<=x2<=x1,
и f(x1)-f(x0)= fx’(x0)h+1/2 fx”(x2)h2
Величина погрешности линейной интерполяции равна
Обозначим fxm”=max|fx”|. Тогда
Максимальное значение выражения в квадратных скобках равно 0.25h2. Поэтому оценка максимальной погрешности равна
Если интерполяционный полином проходит через три точки, то имеем квадратичную интерполяцию, через четыре-кубическую и т.д.
Найдем погрешности интерполяции в общем случае. Предположим, что интерполируемая функция f имеет все производные до (m+1) включительно. Интерполирующая функция L(x) проходит через (m+1) точку f(x0),f(x1),..,f(xm) и зададим ее в виде
Функция lk(x) принимает в узловой точке xk значение 1, а в остальных 0, поэтому и L(x) проходит через все узловые точки. Функция L(x) – называется интерполяционным многочленом Лагранжа.
Представим погрешность интерполяции в виде:
Коэффициент k можно подобрать таким, чтобы в некоторой заданной точке Хз (Хз<>xi), выполнялось равенство f(Xз)=L(Хз)+kw(Хз).
Для этого необходимо определить
Найдем выражение для k не через значение функции f, а через ее производные. Рассмотрим для этого погрешность интерполяции . Функция j(z) обращается в нуль в узлах х0,х1,…,хm, а также в точке Хз, т.е. в (m+2) точках. По теореме Ролля, функция j(z) имеет m+1 точку, в которой ее производная jz’(z)=0. Применяя теорему Ролля к функции F1(z)= jz’(z) вновь получим, что функция F2(z)= jz’’(z) имеет m точек, в которых jz’’(z)=0. Продолжая эти рассуждения, получим, что существует точка x (х0<x<xm), в которой . Тогда имеем . Так как L(z) есть полином степени m, а wz степени m+1, то при любом z из [x0,xm]. Поэтому получим
Получим
выражение для Kx через значение m+1
производной функции в
Таким образом величина погрешности интерполяции в точке Хз равна
Если , то имеем оценку погрешности
.
Сплайном порядка m называется функция, которая является полиномом степени m на каждом интервале между узловыми точками и во всех внутренних узлах удовлетворяет условиям непрерывности функции и производных.
Степень полинома m называется степенью сплайна, а разность между степенью сплайна и порядком наивысшей непрерывной производной - дефектом сплайна.
Кубический (m=3) сплайн.
Наибольшее
распространение получил
Тогда задача формулируется следующим образом: найти неизвестные коэффициенты a,b,c,d сплайна, удовлетворяющие в узловых точках условию x1=0; y(x1)=f1; yx’(x1)=f1’; y(x2)=f2; yx’(x2)=f2’.
Здесь f1,f2,f1’,f2’- соответственно значения интерполируемой функции и ее производной в узловых точках х1,х2.
Для нахождения a,b,c,d составим систему уравнений, используя условия в узловых точках
Подставляя найденные значения d, c в два последних уравнения и разрешая их относительно a, b получим
Подставляя найденные коэффициенты в кубический сплайн и задавая значение аргумента, вычислим значение функции между узловыми точками.
Часто при интерполяции имеются только значения функции в узловых точках и отсутствуют значения производных. Тогда первые производные во внутренних узловых точках вычисляют по формулам
-число узловых точек;
h-
расстояние между узловыми
приближенные значения вторых производных во второй и n-1 точках.
В рассмотренных выше методах интерполяции на интерполирующую функцию накладывалось условие, чтобы она проходила через узловые точки. В ряде задач, особенно когда значения функций в узловых точках известны с некоторой случайной погрешностью, выполнение этого условия ведет к увеличению погрешности интерполяции. В таком случае необходимо использовать метод наименьших квадратов.
Возьмем
систему линейно-независимых
1, x, x2, …, xn; 1, cosx, sinx, cos2x, sin2x,…,cos(nx), sin(nx).
Зададим интерполирующую функцию в виде y(b0, x) = b0j0(x)+ b1j1(x)+…+ bnjn(x), где b0, b1,…, bn неизвестные пока числовые коэффициенты, n £ m.
Погрешность задания функции y в точке xi равна Di= b0j0(xi)+ b1j1(xi)+…+ bnjn(xi)- fi. Суммарное отклонение во всех узловых точках представим в виде
. Необходимо так подобрать b0, b1,…, bn , чтобы Ф было минимальным. Этому соответствуют условия .
Вычисляя частные производные получим
Решая эту систему линейных уравнений найдем неизвестные коэффициенты b0, b1,…, bn. Подставляя их в выражение для y получим интерполирующий полином для вычисления функции на интервале.
Наиболее часто в методе наименьших квадратов используются степенные функции 1, x, x2, x3,…
Если взять интерполирующий полином y = b0+ b1x+…+ bnx2, то система уравнений для вычисления b0, b1, b2 имеет вид
Варианты заданий.
Вар. № | Заданная функция | Апроксимация | Вар
№ |
Заданная функция | Апроксимация |
1 | y=cosxsinx+x | Полиномом | 13 | y=tg(x/5)e-x | -//-//- |
2 | y=cos(x2+2)x | Логранжа | 14 | y=(x3-1)cosx2 | -//-//- |
3 | y=xsinx+e0.4x | -//-//- | 15 | y=sinx2e0.3x | -//-//- |
4 | y=exsin(x2-x) | -//-//- | 16 | y=ecosx^2 | -//-//- |
5 | y=sin(x+5)/(x+0.1) | -//-//- | 17 | y=(sinx+sin2X)ln(x+1) | Кубическим |
6 | y=x3cosx | -//-//- | 18 | y=(cos2x+x)e-x | сплайном |
7 | y=x2+x+2-e0.3x | -//-//- | 19 | y=ex-sinx | |
8 | y=sin(2x2-1) | Методом | 20 | y=e-sinx+exsinx | |
9 | y=ex+sinxcosx | Наименьших | 21 | y=sin(ex-0.1-x) | |
10 | y=e-sinx+cosx | Квадратов | 22 | y=sinx+cosx-x | |
11 | y=excosx2 | -//-//- | 23 | y=(x3+sin2x) 1/2 | |
12 | y=sin2(x+2)/(x+0.1) | -//-//- | 24 | y=e-x^2+x |