1 / 21 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
2 / 21 Řešíme následující úlohu: differencovatelnou funkci f : R R známe jen v konečném počtu bodů x 0, x 1,..., x n chceme napočítat její derivaci v některém z bodů x 0, x 1,..., x n, ale třeba i jinde numerický se hodí např. při výpočtu Newtonovy metody při řešení obyčejných diferenciálních rovnic při řešení parciálních diferenciálních rovnic
3 / 21 s výhodou můžeme využít aproximaci f pomocí Lagrangeova polynomu L n (x) ze vztahu f (x) = L n (x) + R n (x), snadno dostáváme f (k) (x) = L (k) n (x) + R (k) (x) potřebujeme tedy akorát vyjádřit L (k) n n (x) a R (k) (x) n
4 / 21 Lemma 1 l j (x) = i j 1 x x i k j x x k x j x k. Remark 2 Platí tedy L n(x) = n j=0 f (x j )l j (x). Bohužel, obecné odvození vyšších derivací je obtížné.
5 / 21 Theorem 3 Bud I x D f nejmenší interval takový, že x, x 0, x 1,..., x n I x a f má na I x derivaci řádu k + n + 1. Bud L n Lagrangeův interpolační polynom příslušný k funkci f a bodům x 0, x 1,..., x n. Pak existuje ξ(x) I x takové, že f (k) (x) L (k) n (x) = R (k) n (x) k ( k ) ( i=0 i f (n+1) (ξ(x)) ) (k i) (i) ω n (x) =. (n + 1)!
6 / 21 Lemma 4 ω (k) n (x) = n n i 1 =0 i 2 =0 i 2 i 1... n n i k =0 j=0 i k i 1,...,i k i k 1 j i 1,...,j i k (x x j ). Remark 5 Z výrazu pro ω n(x) je vidět, že obecně neexistuje i = 0, 1,..., n, aby lim ω x x i n(x) = 0.
7 / 21 Lagrangeova interpolace nám tedy neumožňuje získat derivaci fce. v daném bodě s libovolnou přesností důvod je ten, že f (x) je určena nekonečně malým okolím bodu x, ale body x 0, x 1,..., x n nejsou nekonečně blízko x bude nás zajímat, co se stane, když budeme zmenšovat rozestupy mezi body
8 / 21 Remark 6 Mějme bod x 0 R a chceme napočítat derivaci f (x 0 ). Zvolme: parametr h R, h > 0 body x i = x 0 + ih pro i = l 1,..., l 2 označme n = l 1 + l 2 označme f i = f (x i ) Pak lze konstruovat Lagrangeův polynom L n (x) = l 2 i= l 1 f i l i (x), kde l i (x) = l 2 j= l 1 j i x x j x i x j.
9 / 21 libovolné x < x l1, x l2 > lze zapsat jako kde a tedy pro x = x 0 + th, t < l 1, l 2 >, L n (x) = L n (th) = l i (t) = l 2 j= l 1 j i l 2 i= l 1 f i l i (t), t j i j.
10 / 21 Pro chybu při výpočtu platí: R (k) n (x) = f (k) (x) L (k) n (x) k ( k ) ( i=0 i f (n+1) (ξ(x)) ) (k i) (i) ω n (x) =. (n + 1)! kde ω (k) n (t) = h n+1 k l 2 l 2 i 1 = l 1 i 2 = l 1 i 2 i 1... l 2 l 2 i k = l 1 j= l 1 i k i 1,...,i k i k 1 j i 1,...,j i k (t j). Pokud nyní h zmenšujeme k nule, klesá chyba aproximace f (k) (x 0 ) s řádem n + 1 k.
11 / 21 Remark 7 Při aproximaci pomocí Lagrangeova polynomu ale děláme zároveň interpolaci. To zbytečně navyšuje požadavky na hladkost funkce f. Ukážeme si, jak aproximovat pomocí konečných diferencí. Remark 8 Symbolem O(h r ) budeme rozumět výraz, který klesá k nule s r-tou mocninou při h 0.
Konečné diference Theorem 9 Bud f C 2 (x 0, x 1 ), pak pro dopřednou konečnou diferenci platí f 1 f 0 = f (x 0 ) + O(h), h tj. jde o aproximaci první s přesností prvního řádu. Remark 10 Při použití Lagrangeova polynomu: : k = 1 řád aproximace: 1 = n + 1 k n = 1 hladkost f : f (n+1+k) f (3) 12 / 21
Konečné diference Theorem 11 Bud f C 2 (x 1, x 0 ), pak pro zpětnou konečnou diferenci platí f 0 f 1 = f (x 0 ) + O(h), h tj. jde o aproximaci první s přesností prvního řádu. 13 / 21
Konečné diference Theorem 12 Bud f C 3 (x 1, x 1 ), pak pro centrální konečnou diferenci platí f 1 f 1 = f (x 0 ) + O(h 2 ), 2h tj. jde o aproximaci první s přesností druhého řádu. Remark 13 Při použití Lagrangeova polynomu: : k = 1 řád aproximace: 2 = n + 1 k n = 2 hladkost f : f (n+1+k) f (5) 14 / 21
Theorem 14 Bud f C 4 (x 1, x 1 ), pak platí Konečné diference f 1 2f 0 + f 1 h 2 = f (x 0 ) + O(h 2 ), tj. jde o aproximaci druhé s přesností druhého řádu. Remark 15 Při použití Lagrangeova polynomu: : k = 2 řád aproximace: 2 = n + 1 k n = 3 hladkost f : f (n+1+k) f (6) 15 / 21
16 / 21 Konečné diference Example 16 Odvod te konečnou diferenci pro náhradu druhé s přesností druhého řádu. Theorem 17 Bud f C (n+1) (x 0, x n ), pak existuje konečná diference pro náhradu k-té s přesností řádu n + 1 k pro k = 1,..., n.
17 / 21 integrálu Mějme integrabilní funkci f :< a, b > R. Bude nás zajímat aproximace I(f ) b a f (x)dx. Numerické vztahy pro aproximaci I(f ) se nazývají: vzroce pro numerickou integraci numerical integration formulae kvadraturní vzorce quadrature formulae Nejčastěji aproximujeme funkci f funkcí f n, pro kterou lze intergál spočítat přesně a snadno. Opět je možné využít Lagrangeovu interpolaci.
18 / 21 Chyba numerické integrace Bude nás zajímat chyba R n (f ) = I(f ) I n (n) = I(f ) I(f n ), kde jsme použili značení I n (f ) := I(f n ). Pro odvození řádu aproximace zavedeme značení h := b a.
19 / 21 Obdélníková formule Theorem 18 Bud f C (2) (a, b) a x 0 = a+b 2, pak obdélníková formule I 0 (f ) = hf (x 0 ), je aproximace I(f ) s přesností třetího řádu.
20 / 21 Lichoběžníková formule Theorem 19 Bud f C (2) (a, b), x 0 = a a x 1 = b, pak obdélníková formule I 1 (f ) = h 2 [f (x 0) + f (x 1 )], je aproximace I(f ) s přesností třetího řádu.
21 / 21 Cavalieriho-Simpsonova formule Theorem 20 Bud f C (4) (a, b), x 0 = a, x 1 = a+b 2 a x 2 = b, pak obdélníková formule I 2 (f ) = h 6 [f (x 0) + 4f (x 1 ) + f (x 2 )], je aproximace I(f ) s přesností pátého řádu.