Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Математика
Просмотров
1746
Размер файла
52 б
Поделиться

Ознакомительный фрагмент работы:

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

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

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

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

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

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

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

Вариант 4

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

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

Хабаровск 2004

Задание.

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

xi11.522.533.5
yi0.52.221.80.52.25

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

xi00.251.252.1253.25
yi5.04.65.75.0174.333

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

xi7913
yi2-23

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

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

x0x1x2...Xn-1xn
y0y1y2...yn-1yn

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

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

Pn(x)=a0xn+a1xn-1+a2xn-2+...+an-1x+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

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

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

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

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

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

a22y0/2!h2

a33y0/3!h3

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

anny0/n!hn

Такимобразом:
Pn(x)=y0+ Δy0/h*(x-x0)+ Δ2y0/2!h2*(x-x0)(x-x1)+...+ Δny0/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!Δ2y0+...+t(t-1)...(t-n+1)/n!Δny0 (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;


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

xi7913
yi2-23

Решение.

Будем искать кубический сплайн на каждом из частичных отрезков [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.

xi11.522.533.5
yi0.52.221.80.52.25

Решение.

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

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

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

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

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

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

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


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

xi00.251.252.1253.25
yi5.04.65.75.0174.333

Решение.

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

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

L4(1.2)=5.657;

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

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


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
157018
рейтинг
icon
6076
работ сдано
icon
2739
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
66 780 оценок star star star star star
среднее 4.9 из 5
Донской государственный технический университет
Всё очень качественно выполнено! Реферат на 18 страниц необходимо было написать за 8 часов...
star star star star star
Уральский государственный юридический университет
Отличный исполнитель! Всем советую, работа выполнено идеально и без замечаний! Спасибо Вам...
star star star star star
МГТУ
Замечательный исполнитель, всё сделано очень качественно. Большое спасибо!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Решить практическую работу

Другое, Экономика и прикладное моделирование

Срок сдачи к 7 июня

1 минуту назад

написать курсовую

Курсовая, Управление качеством

Срок сдачи к 4 июня

2 минуты назад

Выполнить 3 лабораторные

Лабораторная, Компьютерное моделирование

Срок сдачи к 4 июня

2 минуты назад

Решить задачи

Решение задач, Основы финансовой грамотности

Срок сдачи к 6 июня

3 минуты назад

Выполнить задание

Лабораторная, Инженерная геология

Срок сдачи к 4 июня

4 минуты назад

Сделать практические задания

Решение задач, Цифровые технологии

Срок сдачи к 15 июня

4 минуты назад
6 минут назад

Добрый день,нужно решение контрольной...

Контрольная, Математика

Срок сдачи к 6 июня

7 минут назад

Вопрос 28 Выберите способ, приведите поясняющие схемы и опишите...

Контрольная, Материаловедение и технология конструкционных материалов

Срок сдачи к 5 июня

8 минут назад

Решить задачи

Решение задач, Бухгалтерский учет

Срок сдачи к 6 июня

9 минут назад

решить задачи

Решение задач, правовые основы проф. деятельности(менеджмент)

Срок сдачи к 12 июня

10 минут назад

Выполнить Контрольная, Материаловедение

Контрольная, Материаловедение

Срок сдачи к 6 июня

11 минут назад

Решить задачи по экономике

Решение задач, Экономика

Срок сдачи к 12 июня

11 минут назад

Написать курсовую работу

Курсовая, Проектирование в рекламе и связях с общественностью

Срок сдачи к 5 июня

11 минут назад

написать реферат

Реферат, Правовые основы профессиональной деятельности(менеджмент)

Срок сдачи к 14 июня

11 минут назад

Написать курсовую. Металлические конструкции. Д-00275

Курсовая, Строительство

Срок сдачи к 6 июня

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно