Интерполяции функций

Автор работы: Пользователь скрыл имя, 08 Декабря 2011 в 19:46, лабораторная работа

Описание

Интерполяция - это нахождение значения функций между ее узлами. Пусть известны значения функции в n+1 узловых точках f(xi),(i=0,1,2,…,n). Найти значение функции в промежуточных точках х, не совпадающих с хi,(i=0,1,2,…,n). При решении этой задачи находят многочлен степени n, совпадающий со значениями функции в узловых точках, и вычисляют значение функции в точке х.

Работа состоит из  1 файл

Вычислительная математика.doc

— 103.00 Кб (Скачать документ)

Вычислительная математика → Лабораторная работа №6. Интерполяция функций

  Интерполяция  функций.

 Интерполяция - это нахождение значения функций между ее узлами. Пусть известны значения функции в 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 производной функции в некоторой  точке x.

 Таким образом величина погрешности интерполяции в точке Хз равна

 

 Если   , то имеем оценку погрешности

   .

  Сплайн  интерполяция.

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

 Степень полинома m называется степенью сплайна, а разность между степенью сплайна  и порядком наивысшей непрерывной  производной - дефектом сплайна.

   
Кубический (m=3) сплайн.

 Наибольшее  распространение получил кубический сплайн y=ax3+bx2+cx+d. Найдем зависимости  для вычисления его коэффициентов a,b,c,d по значениям функции и ее первых производных в соседних узловых  точках. Для упрощения выкладок примем, что значение аргумента левой угловой точки интервала xi,xi+1, для которого ищем сплайн функцию, равно нулю. Это всегда можно сделать преобразованием x=xi+xh, где xh новый аргумент.

 Тогда задача формулируется следующим  образом: найти неизвестные коэффициенты 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 точках.

  Метод наименьших квадратов.

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

 Возьмем систему линейно-независимых функций j0(x), j1(х), j2(х), …, jn(х), т.е. таких, что выражение a0j0+a1j1+…+anjn=0 , на интервале [x0, xm] только при a0=a1=a2=…=am=0. Линейно независимыми функциями, заданными на дискретном множестве точек [x0, x1, …, xm], являются такие, что выражение j0(xi), j1(хi), j2(хi), …, jn(хi), (i=0,1,2,…,m) только при a0=a1=…=an=0. Например, линейно независимыми системами функций являются

 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    

Информация о работе Интерполяции функций