СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

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

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Ֆունկցիաների ինտերպոլացում

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Ֆունկցիաների ինտերպոլացում»

Ֆունկցիաների ինտերպոլացում

Որոշ խնդիրների լուծման ընթացքում օգտագործում են աղյուսակով տրված ֆունկցիայի արժեքները: Նման դեպքերում, եթե անհրաժեշտ է որոշել ֆունկցիայի այն արժեքները, որոնք չկան աղյուսակում, ապա կարելի է ընտրել աղյուսակային ֆունկցիային ինչ որ իմաստով մոտ որևէ պարզագույն ֆունկցիա և հաշվումը կատարել նրա անալիտիկ տեսքից օգտվելով: Այդպիսի ֆունկցիայի որոշման ձևերից մեկը ինտերպոլացումն է: Դիցուք` x կետերում տրված են y= f( x) ֆունկցիայի արժեքները: Պահանջվում է կառուցել այնպիսի y= F( x) ֆունկցիա,որը նեւյն ` x0, x1,..., xn կետերում ընդունի նույն արժեքներըը: x-ի այլ արժեքների համար F (x) ֆունկցիան կոչվում է ինտերպոլացնող, իսկ նրա կառուցման պրոցեսը` ինտերպոլացում:

Տարբեր կարգի վերջավոր աճեր

Տված է y=f(x) ֆունկցիան:Արգումենտի աճը նշանակենք h-ով՝ ∆x=h:Այդ դեպքում y ֆունկցիայի առաջին կարգի վերջավոր աճը կլինի.

∆y≡∆f(x)=f(x+∆x) - f(x)

Նույն կերպ կստացվի ֆունկցիայի բարձր կարգի վերջավոր աճերը.

∆^n y=∆(∆^(n-1) y)

Ընդհանրապես ճիշտ է հետևյալ բազմանդամի վերջավոր աճի հաշվարկը,եթե

pn (x)=a0 x^n+a1 x^(n-1)+...+a_n

ապա ∆^n p_n (x)=n! a_0 h^n=const,որտեղ ∆x=h, (1)

իրոք

∆pn (x)=pn(x+h)-pn(x)= a0[(x+h)^n-x^n ]+a_1[...

Եթե կլոր փակագծերը բացենք …կստանանք n-1 աստիճանի բազմանդամ ,այնահետև նույն կերպ շարունակելով ի վերջո կստացվի (1)-ը:

∆^s pn(x)=0,եթե sn:

Նյուտոնի առաջին ինտերպոլացիոն բազմանդամ

Խնդրի դրվածքը

Դիցուկ տված y=f(x) ֆունկցիան,որը Xi=x0+ih հավասարահեռ կետերում ըհդունում է

Yi = f(xi) արժեքներ, որտեղ h-ը ինտերպոլացիայի քայլն է:Պահանջվում է ընտրել այնպիսի Pn(x) բազմանդամ(աստիճանը չի գերազանցում n-ին),որը հանգուցային կետերում ընդում է նույն արժեքը՝ Pn(Xi)= Yi , (i=0,1,2,...,n):Պարզվում է,որ այդ պահանջը համարժեք է հետևյալին՝

, m=0,1,2,…,n (1)

Որոնելի բազմանդամը փնտրվում է հետևյալ կերպ.

,m=1,2,…,n (2)

(3)

=

=

=

Տեղադրենք ,կստանանք՝

= =2 ! , որտեղից՝ , շարունակելով, կստանանք`

՝ , 0!=1,և :Գործակիցները տեղադրելով (3)-ի մեջ.

+...+ ,որին անվանում

են Նյուտոնի առաջին ինտերպոլացիոն բազմանդամ:Գործնական աշխատանքի դոպքում նշանակենք :

Նյուտոնի 2-րդ ինտերպոլացիոն բազմանդամ


Դիցուկ տված y=f(x) ֆունկցիան,որը Xi=x0+ih հավասարահեռ կետերում ըհդունում է

Yi = f(xi) արժեքներ, որտեղ h-ը ինտերպոլացիայի քայլն է: Նյուտոնի 1-ին ինտերպոլացիոն բազմանդամը կատարում էր ինտերպոլացիա x0 կետի շրջակայքում: xn կետի շրջակայքում օգտագործվում է 2-րդ բազմանդամը:Հետևաբար պահանջվում է ընտրել այնպիսի Pn(x) բազմանդամ(աստիճանը չի գերազանցում n-ին),որը հանգուցային կետերում ընդում է նույն արժեքը՝ Pn(Xi)= Yi , (i=0,1,2,...,n):Պարզվում է,որ այդ պահանջը համարժեք է հետևյալին՝

ΔiPn(xn-i)= ΔiYn-i (1)

Բազմանդամը կառուցվում է հետևյալ կերպ՝

Pn(x)=a0+a1(x- xn )+a2(x-xn)(x-xn-1)+…+an(x-xn)(x-xn-1)…(x-x1), (2),որը ընդհանրացված աստիճանով կլինի հետևյալը՝

Pn(x)=a0+a1(x-xn)[1] + a2(x-xn-1)[2] + … + an(x-x1)[n]

Ինչպես նկատում ենք. Xi հայտնի է, x-ի արժենքը մենք ենք տալիս,մնում է գտնել ai արժեքները ,,որոնք որոշում ենք, օգտվելով (1) բանաձևից:Այսպիսով՝

Pn(xn)=a0=Yn,կազմում ենք հերթական վերջավոր աճերը և որոշում ai -ն:

ΔPn(x)=1*a1*h+2h*a2(x-xn-1)[1] +…+ nhan(x-x1)[n-1]

ΔPn(xn-1)= 1 *a1h= ΔYn-1 a1=

Δ2 Pn(x)=1*2*h2*a2x +…+ n(n-1)h2 an(x-xn)[n-2]

Δ2 Pn(xn-2)=1*2*h2a22Yn-2 a1= , … ,an=

Տեղադրելով (2)-ի մեջ,կստանանք Նյուտոնի 2-րդ բանաձևը՝

Pn(x)=Yn + (x-xn) +….+ (x-xn)….(x-x1): Գործնական աշխատանքի համար նշանակենք նմանապես կստացվի

Pn(x)=Yn + qΔ Yn-1 + Δ2 Yn-2 +….+ ΔnY0





Ինտերպոլացիայի բազմանդամներ ȳ·ñ³ÝÅÇ ÇÝï»ñåáɳóÇáÝ µ³½Ù³Ý¹³Ù


ȳµáñ³ïáñ ³ß˳ï³Ýù N 1



¸ÇóáõÏ n=1-Ç ¹»åùáõÙ, áõÝ»Ýù »ñÏáõ Ï»ï` x0 ¨ x1

Ծրագիրը TP լեզվով

Program Lang1;

Var x0, x1, y0, y1, A, B, X, L : real;

begin Write('x='); read(x);

begin

Write('x0='); read(x0);

Write('Y0='); read(Y0);

Write('x1='); read(x1);

Write('Y1=1); read(Y1)

end;

begin A:=(x-x1) / (x0-x1);

B:=(x-x0)/(x1-x0);

L:=A*Y0+B*Y1;

Writeln('L=', L)

end

end.

Օրինակ, տված է y=f(x) ֆունկցիան, որը xi կետերում ընդունում է yi արժեք (i=0,1) տե’ս աղյուսակը: Հաշվել L1(37)-ը:

x y

35,7 7,62

40,22 12,78

Պատ. L= 9,104

ȳݷñ³ÝÅÇ ÇÝï»ñåáɳóÇáÝ µ³½Ù³Ý¹³Ù


ȳµáñ³ïáñ ³ß˳ï³Ýù N 2


n=2, i=0,1, 2



Ìñ³·ÇñÁ TP É»½íáí

program Lang2;

Var x0, y0, x1, y1, x2, y2:real; L, A, B: real; x:real;

begin

writeln; writeln (‘vvedite znachenie’);

read(x0, y0, x1, y1, x2, y2); read(x);

begin A:=(x-x1) * (x-x2) /((x0-x1)*(x0-x2);

B:= (x-x0) * (x-x2) /((x1-x0)*(x1-x2);

C:=(x-x0) *(x-x1) /((x2-x0)*(x2-x1);

L:=A*y0+B*y1+C*y2;

Write('L=',L);

end;

end.

Օրինակ, տված է y=f(x) ֆունկցիան, որը xi կետերում ընդունում է yi արժեք (i=0,1,2) տե’ս աղյուսակը: Հաշվել L(323,5)-ը:

x y

321,0 2,50651

322,8 2,50893

324,2 2,51081

Պատ. L(323,5)=2,5098