Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Интерполяция функций 2
Раздел: Рефераты по математике
Тип: лабораторная работа Добавлен 03:48:29 12 февраля 2010 Похожие работы
Просмотров: 211 Комментариев: 27 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Министерство образования Российской Федерации.

Хабаровский государственный Технический Университет.

Кафедра «Прикладная математика и информатика»

Лабораторная работа №4

по дисциплине «Вычислительные методы линейной алгебры».

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

Вариант 4

Выполнил: ст. гр. ПМ 11 Крамарев Д. В.

Проверил: д.ф.-м.н., проф. Чехонин К.А.

Хабаровск 2004

Задание.

1) Построить интерполяционный многочлен Ньютона. Начертить график и отметить на нем узлы интерполяции. Вычислить значения в точке х=1.25.

xi 1 1.5 2 2.5 3 3.5
yi 0.5 2.2 2 1.8 0.5 2.25

2) Построить интерполяционный многочлен Лагранжа. Начертить график и отметить на нем узлы интерполяции. Вычислить значение в точке х=1.2.

xi 0 0.25 1.25 2.125 3.25
yi 5.0 4.6 5.7 5.017 4.333

3)Выполнить интерполяцию сплайнами третьей степени. Построить график и отметить на нем узлы интерполяции.

xi 7 9 13
yi 2 -2 3

Постановка задачи интерполяция.

Пусть известные значения функции образуют следующую таблицу:

x0 x1 x2 ... Xn-1 xn
y0 y1 y2 ... yn-1 yn

При этом требуется получить значение функции f в точке x, принадлежащей
отрезку [x0 ..xn ] но не совпадающей ни с одним значением xi .Часто при этом не известно аналитическое выражение функции f(x), или оно не пригодно для вычислений.

В этих случаях используется прием построения приближающей функции F(x), которая очень близка к f(x) и совпадает с ней в точках x0 , x1 , x2 ,... xn . При этом нахождение приближенной функции называется интерполяцией, а точки x0 ,x1 ,x2 ,...xn - узлами интерполяции. Обычно интерполирующую ищут в виде полинома n степени:

Pn (x)=a0 xn +a1 xn-1 +a2 xn-2 +...+an-1 x+an

Для каждого набора точек имеется только один интерполяционный многочлен, степени не больше n. Однозначно определенный многочлен может быть представлен в различных видах. Рассмотрим интерполяционный многочлен Ньютона и Лагранжа.

Интерполяционная формула Лагранжа.

Формула Лагранжа является наиболее общей, может применяться к таким узлам интерполяции, что расстояние между соседними узлами не постоянная величина.

Построим интерполяционный полином Ln (x) степени не больше n, и для которого выполняются условия Ln (xi )=yi . Запишем его в виде суммы:

Ln (x)=l0 (x)+ l1 (x)+ l2 (x)+...+ ln (x),(1)

где lk ( xi )= yi , если i=k, и lk ( xi )= 0, если i≠k;

Тогда многочлен lk ( x) имеет следующий вид:

lk (x)= (2)

Подставим (2) в (1) и перепишем Ln ( x) в виде:

Если функция f(x), подлежащая интерполяции, дифференцируема больше чем n+1 раз, то погрешность интерполяции оценивается следующим образом:

где0<θ <1 (3)


Интерполяционная формула Ньютона.

Построение интерполяционного многочлена в форме Ньютона применяется главным образом когда разность xi +1 -xi =h постоянна для всех значений x=0..n-1.

Конечная разность k-го порядка:

Δyi =yi +1 -yi

Δ2 yi = Δyi +1 - Δyi =yi +2 -2yi +1 +yi

………………………………

Δk yi =yi + k -kyi +1- k +k(k-1)/2!*yi + k-2 +...+(-1)k yi

Будем искать интерполяционный многочлен в виде:

Pn(x)=a0 +a1 (x-x0 )+a2 (x-x0 )(x-x1 )+...+an (x-x0 )(x-x1 )...(x-xn-1 )

Найдем значения коэффициентов a0 , a1 , a2 , ...,an :

Полагая x=x0 , находим a0 =P(x0 )=y0 ;

Далее подставляя значения x1 , x2 , ...,xn получаем:

a1 =Δy0 /h

a22 y0 /2!h2

a33 y0 /3!h3

....................

ann y0 /n!hn

Такимобразом:
Pn(x)=y0 + Δy0 /h*(x-x0 )+ Δ2 y0 /2!h2 *(x-x0 )(x-x1 )+...+ Δn y0 /n!hn *(x-x0 )(x-x1 )...(x-xn -1 ) (1)

Практически формула (1) применяется в несколько ином виде:

Возьмем: t=(x-x0 )/h, тогда x=x0 +th и формула (1) переписывается как:

Pn (x)=y0 +t Δ y0 + t(t-1) / 2! Δ 2 y0 +...+ t(t-1)...(t-n+1) / n! Δ n y0 (2)

Формула (2) называется интерполяционнойформулой Ньютона.

Погрешность метода Ньютона оценивается следующим образом:

(3)


Интерполяция сплайнами.

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

Высокой степени многочленов можно избежать, разбив отрезок интерполирования на несколько частей, с построением в каждой части своего интерполяционного полинома. Такой метод называется интерполяцией сплайнами. Наиболее распространенным является построение на каждом отрезке [xi , xi +1 ], i=0..n-1 кубической функции. При этом сплайн – кусочная функция, на каждом отрезке заданная кубической функцией, является кусочно-непрерывной, вместе со своими первой и второй производной.

Будем искать кубический сплайн на каждом из частичных отрезков [xi , xi +1 ] в виде:

, где ai ,bi ,ci ,di – неизвестные.

Из того что Si (xi )=yi получим:

В силу непрерывности потребуем совпадения значений в узлах, т.е.:

,i=0..n-1; (1)

Также потребуем совпадения значений первой и второй производной:

,i=0..n-2; (2)

,i=0..n-2; (3)

Из (1) получим n линейных уравнений с 3n неизвестными

,i=0..n-1; (1*)

Из (2) и (3) получим 2(n-1) линейных уравнений с теми же неизвестными:

,i=0..n-1; (2*)

,i=1..n-1; (3*)

Недостающие два уравнения определим следующим образом. Предположим, что в точках х0 и хn производная равна нулю и получим еще два уравнения. Получим систему из 3*n линейных уравнений с 3*n неизвестными. Решим ее любым из методов и построим интерполяционную функцию, такую что на отрезке [xi , xi +1 ] она равна Si .


Метод Лагранжа

procedure TForm1.Button1Click(Sender: TObject);

type tip=array of real;

var x,y:tip;

i,j,n:byte;

p,s,xx:real;

begin

n:=edt.Count;

setlength(x,n);

setlength(y,n);

for i:=0 to n-1 do x[i]:=edt.massiv[i];edt.Lines.Delete(0);

for i:=0 to n-1 do y[i]:=edt.massiv[i];edt.Lines.Delete(0);

xx:=strtofloat(edt.Text);

edt.Lines.Delete(0);

s:=0;

for i:=0 to n-1 do

begin

p:=1;

for j:=0 to n-1 do if i<>j then p:=p*(xx-x[j])/(x[i]-x[j]);

p:=p*y[i];

s:=s+p;

end;

edt.writer('',1);

edt.writer('',s,1);

end;


Сплайн – интерполяция ( программа составляет систему линейных уравнений, решая которую находим коэффициенты кубических сплайнов).

procedure TForm1.Button1Click(Sender: TObject);

var b,c,d,x,y:array of real;

urm:array of array of real;

i,j,k,n :byte;

begin

n:=edt.Count;

setlength(x,n);setlength(y,n);

for i:=0 to n-1 do x[i]:=edt.massiv[i];edt.Lines.Delete(0);

for i:=0 to n-1 do y[i]:=edt.massiv[i];edt.Lines.Delete(0);

setlength(b,n-1);setlength(c,n-1);setlength(d,n-1);

setlength(urm,3*(n-1),3*(n-1)+1);

for i:=0 to 3*(n-1)-1 do

for j:=0 to 3*(n-1) do urm[i,j]:=0;

for i:=0 to n-1 do edt.writer(' ',y[i],0);

for i:=0 to n-2 do

begin

urm[i,3*i+0]:=x[i+1]-x[i];

urm[i,3*i+1]:=(x[i+1]-x[i])*(x[i+1]-x[i]);

urm[i,3*i+2]:=(x[i+1]-x[i])*(x[i+1]-x[i])*(x[i+1]-x[i]);

urm[i,3*(n-1)]:=y[i+1]-y[i];

end;

for i:=0 to n-3 do

begin

urm[i+n-1,3*i+0]:=1;

urm[i+n-1,3*i+1]:=2*(x[i+1]-x[i]);

urm[i+n-1,3*i+2]:=3*(x[i+1]-x[i])*(x[i+1]-x[i]);

urm[i+n-1,3*i+3]:=-1;

end;

for i:=0 to n-3 do

begin

urm[i+2*n-3,3*i+1]:=1;

urm[i+2*n-3,3*i+2]:=3*(x[i+1]-x[i]);

urm[i+2*n-3,3*i+4]:=-1;

end;

urm[3*n-5,0]:=1; urm[3*n-5,3*(n-1)]:=0;

urm[3*n-4,3*(n-1)-3]:=1;urm[i+2*n-3,3*(n-1)-2]:=2*(y[n-1]-y[n-2])]

urm[3*n-4,3*(n-1)-1]:=3*(y[n-1]-y[n-2]) *(y[n-1]-y[n-2]);

urm[i+2*n-3,3*(n-1)]:=0

for i:=0 to 3*(n-1)-1 do

begin

edt.writer('',1);

for j:=0 to 3*(n-1) do edt.writer(' ',urm[i,j],0);

end;

end;


Выполнить интерполяцию сплайнами третьей степени. Построить график и отметить на нем узлы интерполяции.

xi 7 9 13
yi 2 -2 3

Решение.

Будем искать кубический сплайн на каждом из частичных отрезков [xi , xi +1 ], i=0..2 в виде:

, где ai ,bi ,ci ,di – неизвестные.

Из того что Si (xi )=yi получим:

В соответствии с теоретическим положениями изложенными выше, составим систему линейных уравнений, матрица которой будет иметь вид:

При этом мы потребовали равенства производной нулю.

Решая систему уравнений получим вектор решений [b1 ,c1 ,d1 ,b2 ,c2 ,d2 ]:

Подставляя в уравнение значения b1 ,c1 ,d1 , получим на отрезке [7..9]:

Если выражение упростить то:

Аналогично подставляя в уравнение значения b2 ,c2 ,d2 , получим на отрезке [9..13]:

или

График имеет вид:


Метод Ньютона

procedure TForm1.Button1Click(Sender: TObject);

type tip=array of real;

var x,y:tip;

i,j,n:byte;

p,s,xx,t,h:real;

kp:array of array of real;

begin

n:=edt.Count;

setlength(x,n);

setlength(y,n);

for i:=0 to n-1 do x[i]:=edt.massiv[i];edt.Lines.Delete(0);

for i:=0 to n-1 do y[i]:=edt.massiv[i];edt.Lines.Delete(0);

xx:=strtofloat(edt.Text);

edt.Lines.Delete(0);

setlength(kp,n,n);

for i:=0 to n-1 do for j:=0 to n-1 do kp[i,j]:=0;

for i:=0 to n-1 do kp[0,i]:=y[i];

for i:= 1 to n-1 do

for j:=0 to n-i-1 do

kp[i,j]:=kp[i-1,j+1]-kp[i-1,j];

for i:= 0 to n-1 do

begin

for j:=0 to n-1 do edt.writer(' ',kp[i,j],0);

edt.writer('',1);

end;

edt.writer('',1);

h:=0.5;

t:=(xx-x[0])/h;

s:=y[0];

for i:=1 to n-1 do

begin

p:=1;

for j:=0 to i-1 do p:=p*(t-j)/(j+1);

s:=s+p*kp[i,0];

end;

edt.writer('',s,1);;

end;


Построить интерполяционный многочлен Ньютона. Начертить график и отметить на нем узлы интерполяции. Вычислить значение функции в точке х=1.25.

xi 1 1.5 2 2.5 3 3.5
yi 0.5 2.2 2 1.8 0.5 2.25

Решение.

Построим таблицу конечных разностей в виде матрицы:

Воспользуемся интерполяционной формулой Ньютона:

Pn ( x )= y 0 + t Δ y 0 + t( t-1) /2! Δ 2 y0 +...+ t(t-1)...(t-n+1) / n! Δ n y0

Подставив значения получим многочлен пятой степени, упростив который получим:

P5 (x)=2.2x5 -24x4 +101.783x3 -20.2x2 +211.417x-80.7

Вычислим значение функции в точке x=1.25; P(1.25)=2.0488;

График функции имеет вид:


Построить интерполяционный многочлен Лагранжа. Начертить график и отметить на нем узлы интерполяции. Вычислить значение в точке х=1.2.

xi 0 0.25 1.25 2.125 3.25
yi 5.0 4.6 5.7 5.017 4.333

Решение.

Построим интерполяционный многочлен Лагранжа L4 ( x) , подставив значения из таблицы в формулу:

Напишем программу и вычислим значение многочлена в точке х=1.2:

L4 (1.2)=5.657;

Полученный многочлен имеет четвертую степень. Упростим его и получим:

Построим график полученного полинома:

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита02:12:40 04 ноября 2021
.
.02:12:38 04 ноября 2021
.
.02:12:37 04 ноября 2021
.
.02:12:35 04 ноября 2021
.
.02:12:34 04 ноября 2021

Смотреть все комментарии (27)
Работы, похожие на Лабораторная работа: Интерполяция функций 2

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(287874)
Комментарии (4159)
Copyright © 2005-2021 HEKIMA.RU [email protected] реклама на сайте