Ѕаза знаний студента. –еферат, курсова€, контрольна€, диплом на заказ

курсовые,контрольные,дипломы,рефераты

»нтерпол€ци€ функций — ћатематика

ѕосмотреть видео по теме –еферата

Ћабораторна€ работа по дисциплине Ђ¬ычислительные методы линейной алгебрыї.

ћинистерство образовани€ –оссийской ‘едерации.

’абаровский государственный “ехнический ”ниверситет.

 афедра Ђѕрикладна€ математика и информатикаї

’абаровск 2003

«адание.

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)=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

a2=Δ2y0/2!h2

a3=Δ3y0/3!h3

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

an=Δny0/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;

¬ыполнить интерпол€цию сплайнами третьей степени. ѕостроить график и отметить на нем узлы интерпол€ции.

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)=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.

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;

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

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



«аказывайте: рефераты - 150 р. курсовые - 700 р. дипломы - 2500 р. Ћабораторна€ работа по дисциплине Ђ¬ычислительные методы линейной алгебрыї. ћинистерство образовани€ –оссийской ‘едерации. ’абаровский государственный “ехнический ”ниверситет.  афедра Ђѕрикладна€ математика и информатикаї ’абаровск 2003 «ада

 

 

 

¬нимание! ѕредставленный –еферат находитс€ в открытом доступе в сети »нтернет, и уже неоднократно сдавалс€, возможно, даже в твоем учебном заведении.
—оветуем не рисковать. ”знай, сколько стоит абсолютно уникальный –еферат по твоей теме:

Ќовости образовани€ и науки

«аказать уникальную работу

—вои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru