APROXIMACE FUNKCÍ V MA TLABU Část 3. - Lazran eův inter olační 01 mom v Matlabu I
'
•
Jiří Kulička Umverzna Pardubice, Dopravru fakulta Jana Pcrnera. Katedra Informatiky v dopravě University oj Pardubice. Jan Perner Transport Fakulty, Department oj informatics in transport
Univerzita Hradec Králové, Pedagogická fakulta, Katedra informatiky University oj Hradec Králové. Fakult)' ofEducation, Department aj lnformatics
Resumé: Článek se zabývá odvozením,
algoritmizací a popisem konstrukce Lagrangeova interpolačního polynomu. Jsou zde popsány a vysvětleny základní výpočetní postupy týkající se této problematiky, nejprve je vždy proveden teoretický rozbor, pak následuje řešený příklad a výpisy funkcí v Matlabu s vysvětlujícím komentářem.
Summary: The article deals with deriving, algorithm design and description of the Lagrange interpolation polynomial. There are described and explained the basic computational procedures regarding this issue, the first one is always a theoretical analysis, followed by solved examples and extracts functions in Matlab with explanatory commentary. ÚVOD Numerické (obecně matematické) metody jsou nezbytnou součástí výuky technicky orientovaných předmětů nejen na školách vysokých, ale (samozřejmě s daleko menšími nároky) i na školách středních. Zejména pro vysokoškolské studenty bývají numerické metody a matematika obecně, obtížnými pasážemi studia. Počítače přinesly do technické praxe výraznou podporu právě u numerických metod, od zrychlení a zpřesnění výpočtů matematických modelů až po výpočty metodou konečných prvků. Interpolovat znamená odhadnout chybějící funkční hodnoty pomocí váženého průměru známých funkčních hodnot v sousedních bodech.
LINEÁRNÍ INTERPOLACE Lineární interpolace používá přímku procházející dvěma body.
y
B
y 1 1 1
y t- yo
1
---------------1 Xl-)(n
1 1 1 1
Xa
Obrázek 1Lineární interpolace Sklon přímky je: k
= tgep = YI - Yo . Dosazením do směrnicového tvaru rovnice přímky dostáváme: XI
Návrat na obsah
-xo
Media4u Magazine 2/2010
132
y, - Yo (
( ) y=k·x-xo+Yo=
-xo
X,
,x-xo+Yo )
Tento vztah upravíme na tvar, který odvodil Joseph Louis Lagrange (1736-1813):
y, - Yo () () x - Xo x - Xo x - Xo . x - Xo + Yo = Yo + y, - Yo . = Yo + y, . - Yo . = ~-~ ~-~ ~-~ ~-~
Y = P ()x =
Poslední část výrazu v této úpravě nazýváme interpolační polynom prvního stupně (přímka). (1)
v (1) jsou lineární faktory a nazýváme je Lagrangeovými polynomickými koeficienty založenými na pólech a Xl' Dosazením bodů A a B do lineárních faktorů dostáváme:
Xo
a proto polynom Pl (x) prochází body A, B. Výsledný tvar interpolačního polynomu prvního stupně můžeme zapsat:
, ~(x)=
LYk k=O
.L"k(xL
r, =f(Xk)
ZOBECNĚNÍ POlynomPn(x)
stupně nejvýše N, který prochází N+1 body
[xo; YoL
[x,; yd,
... , [XN,' YN] je určen
předpisem: N
Pn(x) kde
=
LYk k=O
(2)
.LN,k(X),
LN,k (x) jsou Lagrangeovy polynomické koeficienty dané uzly x o, Xl ... r x N a jsou určeny výrazem: N
IT(x-xJ j=O,}-*k N
IT(Xk - Xj) j=O,j"#-k Lagrangeovy polynomické koeficienty mají tyto vlastnosti:
LN,k (x j) =
I, když j == k a
LN, k (x j ) = O, když j
*' k.
Polynom prochází všemi danými body, což je vidět z následující rovnice dosazením za x
PN(Xj)=
YO' LN,O(Xj )+ ... + Y j . LN,j(X j )+ ... + YN . LN,N(Xj)=
Návrat na obsah
-===-====-===-===--------
Media4u Magazine 2/2010
--
=
xj
:
Yo(O)+ ... y j(I)+ ... + YN(O)
=
Y j' 133
Na obrázku 2 vidíme názorně konstrukci výsledného interpolačního polynomu P(x) druhého stupně pomocí funkčních hodnot vynásobených Lagrangeovými polynomickými koeficienty v jednotlivých pólech 2, 4, 6.
10 --P(x) --L1(x)
8
--L2(x) --------L3(x)
6
/
4
_2L-----L-----~----~-----L----~----~ 1
3
2
4
5
6
7
Obr.2 Interpolační polynom a Lagrangeovy polynomické koeficienty druhého řádu
LAGRANGEŮVINTERPOLAČNÍVZOREC
r(x)
Funkci
aproximujeme polynomem
Pn (x)
(2), který nabývá ve známých uzlech stejných hodnot, jako
r(x).
daná funkce N
f{x)=
kde
r(x)
LYk k=O Pn (x)
'LN,k{X)+E{x)=Pn{x)+E{x),
je aproximace funkce
v intervalu < xo/
PŘÍKLADY
x N >,
f(x)
a
E(x)
chyba aproximace. Jestliže
LAGRANGEOVÝCH
je použito k aproximaci
POLYNOMŮ
Kvadratický LagrangeElv polynom, který prochází body
Kubický
Pn (x)
nazýváme daný proces jako interpolace, mimo daný interval extrapolace.
[xo/ Yo], [XI/
yd
a
[xv' Y2]
je:
l.aqranqeův polynom, který prochází body [xo; Yo], [Xl/ h], [X2; Y2] a [X3/' Y3] je:
(x - xo)· (x - xd· (x - X3) + Y2' (X2 -XO)'(X2 -Xd'(X2 -X3r
(x - xo)· (x - xd· (x - X2) Y3' (X3 -XO)'(X3 -Xl)'(X3 -X2)
Návrat na obsah
Media4u Magazine 2/2010
134
Příklad Nahradíme funkci y = In(x) v intervalu
x E < 1; 2,2 > Lagrangeovými polynomy druhého a třetího stupně.
Zobrazíme také chyby, kterých se dopouštíme. Y
=
t(x)
=
ln x, x
E<
1;2,2 >
Kvadratický Lagrangeův polynom Xo =1,xl Yo
=1,6,x2
=2,2
= In1 = O, Yl = ln 1,6 = 0,470004, Y2 = ln 2,2 = 0,788457 1,38889 . x2 - 5,277778 . x + 4,888889
L2,O(x)
= (( - 1,6~. ~x - 2,V
L21 ()X
= (
L2 2(X)
= ( (x -1~. x -1,6) ) = 1,388889. x2 - 3,611111· x + 2,222222
,
,
1 - 1,6 . 1 - 2,2
(x-1).(x-22)
) (
')
1,6 - 1 . 1,6 - 2,2
=
2
= -2,777778· x + 8,888889· x - 6,111111
i
2,2 - 1 . 2,2 -1,6
= 0-1,305567· (x2 - 3,2x + 2,2)+ 1,095079· (x2 - 2,6x + 1,6) = = -0,210488· x2 + 1,330609· x -1,120121
0.8 0.7
0.6
0.5 0.4
0.3 0.2 0.1
------~"'~
»>:
-------- -----o
O+·----~------~---~~-~~~--~----~L----~~1
1.2
1 .4
1.6
1 .8
2
2.2
Obr.3 Kvadratický Lagrangeův interpolačni polynom (odchylky P2(X) od y = In(x) jsou červeně a desetkrát zvětšeny)
Návrat na obsah
Media4u Magazine 2/2010
135
KubkkýLagrangeůvpolynom
L3 o (x)
=
(x -1,4). (x -1,8). (x - 2,2) = -2,604167. x3 + 14,0625. x2 - 24,895833· x + 14,4375
,
(1-1,4). (1-1,8). (1- 2,2)
L31x()
=( 1,4(x-l).(x-l,8).(x-2,2) )( )( )=7,8125.X -1 . 1,4 -1,8 . 1,4 - 2,2
L32 ()X
= (
L
=
,
,
(x)
=
) (
) (
2
-39,0625·x 3
)=-7,8125.X
1,8 -1 . 1,8 -1,4 . 1,8 - 2,2
3,3
P3(X)
(x-l).(x-l,4).(x-2,2)
3
+35,9375·x
+62,1875·x+30,9375 2
-52,1875·x+24,0625
= 2 604167. x3 -10 9375. x2 + 14 895833· x
(x -1). (X -1,4). (x -1,8) (2,2-1).(2,2-1,4).(2,2-1,8)'
,
- 6 5625
,
,
= O·L3,0(X)+ 0,336472· L3,l (x)+ 0,587787· L3,2(x) + 0,788457· L3,3(X) =
0,089882· x3 - 0,643616· x2 + 1,99398· x -1,440245
0.8
0.7 0.6
0.5 0.4
0.3
0.2 0.1
r-----------_ /
O :/ 1
--------. --~---
1 .2
1 .4
_
-------1 .6
--1 .8
...__----------------'.,. '-o
2
2.2
Obr.4 Kubický Lagrangeův interpolační polynom (odchylky P3(X) od y = In(x) jsou červeně a padesátkrát zvětšeny)
m-soubor
Matlab N
Určení Lagrangeova polynomu PN (x)
=
I Y k . LN,k (x)
daného N+ 1 body [x k; Yk]
I
k
=
0,1, ... , N .
k=O
v ukázce m-souboru
Návrat na obsah
z Matlabu jsou za znakem % uvedeny vysvětlující komentáře.
Media4u Magazine 2/2010
136
tunction fC,L]=/agrange(X,
Y)
% vstup X je vektor x-ových souřadnic bodu Xk % Yje vektor y-ových souřadnic bodu Xk %výstup Cje matice výsledných koeficientů Lagrangeova polynomu % L je matice koeficientů u mocnin x u Lagrangeových polynomů w=length(X)/
n=w-L; L =zeros/w: w)/' % výpočet koeficientů mocnin x u Lagrangeových polynomů for k=l:w
v=I: for j=l:w If k-v=] V=conv(V,poly(XÚ)))/(X(k)-XU))/ end end L(k,:)=V,' end % výpočet koeficientů Lagrangeova interpolačn/ho polynomu C=Y*L,' pnkaz: fC,L]=/agrange(X,
Y)
ZÁVĚR Pro určení interpolačního polynomu existuje více postupu, všechny ale určí stejný polynom. Lagrangeova interpolace patří k těm nejstarším, nejznámějším a nejjednodušším. Její nevýhoda ovšem spočívá v tom, že postup nelze vyjádřit rekurentně a je velmi náročný na počet výpočtů. Proto při přidání dalšího uzlu, musíme celý polynom znovu přepočítat. Komentované výpisy funkcí v Matlabu jsou používány ve výuce předmětu Numerické metody na DF UPCE.
(v pňstim pokračováni Newtonúv Interpolačni polynom)
Použité zdroje MATHEWS. J. - FINK. K. Numerical Methods Using MATLAB. Pearson Prentice Hall 2004, fourth edition. ISBN 0-13-191178-3. RALSTON, A. Základy numerické matematiky. Academia Praha 1978 VIT ÁSEK. E. Numerické metody. SNTL 1987 KARBAN. P. výpočty a simulace v programech Matlab a Simulink. Computer Press 2006. ISBN 80-251-1301-9.
Kontaktni
adresa
Mgr. Jiři Kulička Univerzita Pardubice Dopravni fakulta Jana Pernera Studentská 95 532 10 Pardubice 2 e-mail:
[email protected]
Návrat na obsah
Media4u Magazine 2/2010
137