Numerická matematika: Pracovní listy

Podobné dokumenty
Numerická matematika: Pracovní listy

Numerická matematika Banka řešených příkladů

MODAM Mgr. Zuzana Morávková, Ph.D.

Numerická matematika Písemky

Libovolnou z probraných metod najděte s přesností na 3 desetinná místa kladný kořen rovnice. sin x + x 2 2 = 0.

Úvod do práce s Matlabem

Numerická matematika Řešené příklady s Matlabem a aplikované úlohy

GeoGebra známá i neznámá (pokročilí)

Základy algoritmizace a programování

Matematika I pracovní listy

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

MODAM Mgr. Zuzana Morávková, Ph.D.

Co je obsahem numerických metod?

Typy příkladů na písemnou část zkoušky 2NU a vzorová řešení (doc. Martišek 2017)

MODAM Ing. Schreiberová Petra, Ph.D.

Numerická matematika 1

KTE / PPEL Počítačová podpora v elektrotechnice

Aplikovaná numerická matematika - ANM

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí

MATrixLABoratory letný semester 2004/2005

Ekonomická fakulta, Jihočeská univerzita v Českých Budějovicích. MATEMATICKÝ SOFTWARE MAPLE - MANUÁL Marek Šulista

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Čebyševovy aproximace

Řešení diferenciálních rovnic v MATLABu

x (D(f) D(g)) : (f + g)(x) = f(x) + g(x), (2) rozdíl funkcí f g znamená: x (D(f) D(g)) : (f g)(x) = f(x) g(x), (3) součin funkcí f.

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

Matematická analýza ve Vesmíru. Jiří Bouchala

1 Polynomiální interpolace

5. Interpolace a aproximace funkcí

Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.

Požadavky ke zkoušce. Ukázková písemka

Interpolace, ortogonální polynomy, Gaussova kvadratura

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

Numerické řešení rovnice f(x) = 0

Matematika I A ukázkový test 1 pro 2014/2015

Numerické řešení diferenciálních rovnic

Derivace funkcí více proměnných

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

Řešení nelineárních rovnic

Matematika 1 sbírka příkladů

Obsah Obyčejné diferenciální rovnice

Soustavy lineárních rovnic-numerické řešení. October 2, 2008

Bakalářská matematika I

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

MATLAB a numerické metody

Numerické metody a statistika

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

Algebraické rovnice. Obsah. Aplikovaná matematika I. Ohraničenost kořenů a jejich. Aproximace kořenů metodou půlení intervalu.

Základy matematiky pracovní listy

Moderní numerické metody

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

MATURITNÍ TÉMATA Z MATEMATIKY

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

10. cvičení - LS 2017

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Neurčitý integrál. Robert Mařík. 4. března 2012

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

Matematika vzorce. Ing. Petr Šídlo. verze

Funkce jedné reálné proměnné. lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou

soubor FUNKCÍ příručka pro studenty

5. Lokální, vázané a globální extrémy

Matematika I: Pracovní listy do cvičení

7. Aplikace derivace


A 9. Počítejte v radiánech, ne ve stupních!

Připomenutí co je to soustava lineárních rovnic

Numerické řešení nelineárních rovnic

Uzavřené a otevřené množiny

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Kapitola 7: Integrál.

Soustavy lineárních rovnic-numerické řešení

Numerická integrace a derivace

Základy matematiky pro FEK

Cyklometrické funkce

Soustavy nelineárních rovnic pomocí systému Maple. Newtonova metoda.

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Praha & EU: investujeme do vaší budoucnosti. Daniel Turzík, Miroslava Dubcová,

Maturitní témata z matematiky

Matematika 3. Sbírka příkladů z numerických metod. RNDr. Michal Novák, Ph.D. ÚSTAV MATEMATIKY

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

X37SGS Signály a systémy

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Program SMP pro kombinované studium

Semestrální písemka BMA3 - termín varianta A13 vzorové řešení

metody jsou proto často jedinou možností jak danou diferenciální rovnicivyřešit.

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx.

Numerické metody a programování. Lekce 7

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

Derivace a monotónnost funkce

Maturitní témata profilová část

Cvičné texty ke státní maturitě z matematiky

POŽADAVKY pro přijímací zkoušky z MATEMATIKY

Zimní semestr akademického roku 2014/ prosince 2014

Tematický plán Obor: Informační technologie. Vyučující: Ing. Joanna Paździorová

Transkript:

: Pracovní listy Pavel Ludvík, Zuzana Morávková Katedra matematiky a deskriptivní geometrie VŠB - Technická univerzita Ostrava K M D G

Řy - Interpolace polynomy 1. 1 Interpolace a aproximace Úloha interpolace Jsou dány vzájemně různé uzly x i a funkční hodnoty y i, i = 0,..., n. Hledáme polynom splňující systém interpolačních rovností p n (x i ) = y i, i = 0,..., n, tedy polynom, jehož graf budete zadanými uzly procházet. Existuje právě jeden interpolační polynom stupně nejvýše n. Dále popíšeme tři různé způsoby, jak tento polynom nalézt. Interpolační polynom v základním tvaru Jsou dány vzájemně různé uzly x i a funkční hodnoty y i, i = 0,..., n. Dosazením obecného tvaru polynomu p n (x) = a 0 + a 1 x + a x + + a n x n do interpolačních rovností dostaneme soustavu lineárních rovnic a 0 + a 1 x i + a x i + + a n x n i = y i, i = 0,..., n, kterou lze zapsat maticově jako 1 x 0 x0... x n 0 1 x 1 x1... x n 1 1 x x... x n....... 1 x n x n... x n n a 0 a 1 a. a n = y 0 y 1 y. y n. Interpolační polynom v Lagrangeově tvaru Interpolační polynom v Lagrangeově tvaru je určen předpisem p(x) = y 0 ϕ 0 (x) + y 1 ϕ 1 (x) + + y n ϕ n (x), kde ϕ 0 (x), ϕ 1 (x), ϕ (x) jsou polynomy Lagrangeovy báze dané úlohy: ϕ i (x) = (x x 0) (x x i 1 )(x x i+1 ) (x x n ) (x i x 0 ) (x i x i 1 )(x i x i+1 ) (x i x n ). Interpolační polynom v Newtonově tvaru Interpolační polynom v Newtonově tvaru je určen předpisem p(x) =y 0 + f [x 1, x 0 ](x x 0 ) + f [x, x 1, x 0 ](x x 0 )(x x 1 )+ + f [x 3, x, x 1, x 0 ](x x 0 )(x x 1 )(x x ) + + + f [x n,..., x 0 ](x x 0 )(x x 1 ) (x x n 1 ), kde f [x 1, x 0 ] je poměrná diference 1. řádu., f [x, x 1, x 0 ] je poměrná diference. řádu, až f [x n,..., x 0 ] je poměrná diference řádu n. Poměrné diference se spočtou jako f [x 1, x 0 ] = f (x 1) f (x 0 ) x 1 x 0, f [x, x 1, x 0 ] = f [x, x 1 ] f [x 1, x 0 ] x x 0, obecně: f [x n,..., x 0 ] = f [x n,..., x 1 ] f [x n 1,..., x 0 ] x n x 0. Vyřešením této soustavy lineárních rovnic nalezneme koeficienty a 0, a 1,..., a n R hledaného interpolačního polynomu.

.Řy 3 - Interpolační polynom v základním tvaru Pro uzly x i a funkční hodnoty y i dané následující tabulkou sestavte interpolační polynom v základním tvaru. i=0 i=1 i= x i 0 3 4 y i 1 5 Nejprve zadáme do vektoru x uzly x i a do vektoru y funkční hodnoty y i. >> x = [0; 3; 4] >> y = [; 1; 5] Koeficienty polynomu spočítáme jako řešení soustavy lineárních rovnic. >> M = [ones(3,1) x x.ˆ] >> a = Mˆ-1*y Koeficienty a i jsou zjevně racionální čísla a proto si je vypíšeme ve tvaru zlomku. >> format rat >> a Nalezený interpolační polynom je p (x) = 43 1 x + 13 1 x. Polynom nejprve uložíme do proměnné p a pak vykreslíme jeho graf na intervalu [x 0, x ] = [0, 4]. >> plot(x,y, o ) >> grid on, hold on >> p = @(x)a(1)+a()*x+a(3)*x.ˆ; >> fplot(p, [0 4], r ) >> legend( uzly, obecny polynom )

Řy4 - Interpolační polynom v Lagrangeově tvaru 3. Pro uzly x i a funkční hodnoty y i dané následující tabulkou i=0 i=1 i= x i 0 3 4 y i 1 5 sestavte interpolační polynom v Lagrangeově tvaru. Zadáme uzly. >> x = [0; 3; 4] >> y = [; 1; 5] Hledaný polynom má tvar p (x) = 1 6 (x 3)(x 4) 1 3 x(x 4) + 5 x(x 3). 4 Vykreslíme zadané body a nalezený polynom. >> plot(x,y, o ) >> grid on, hold on >> p = @(x) 1/6*(x-3).*(x-4)-1/3*x.*(x-4)+5/4*x.*(x-3) >> fplot(p,[0 4], r ) >> legend( uzly, Lagrangeuv polynom )

Řy5 - Interpolační polynom v Newtonově tvaru 4. Pro uzly x i a funkční hodnoty y i dané následující tabulkou i=0 i=1 i= x i 0 3 4 y i 1 5 sestavte interpolační polynom v Newtonově tvaru. Spočteme poměrné diference: i x i y i 1.řád.řád 0 0 1 3 1 3 1 4 4 5 Pomocí tučně zvýrazněných poměrných diferencí v prvním řádku tabulky sestavíme interpolační polynom: 13 1 p (x) = 1 13 (x 0) + 3 1 (x 0)(x 3) = 1 3 x + 13 x(x 3). 1 Zadáme uzly. >> x = [0; 3; 4] >> y = [; 1; 5] Vykreslíme zadané body a nalezený polynom. >> plot(x,y, o ) >> grid on, hold on >> p = @(x) -1/3*x+13/1*x*(x-3); >> fplot(p, [0 4], r ) >> legend( uzly, Newtonuv polynom )

Řy6 - Aproximace metodou nejmenších čtverců 5. Úloha aproximace Jsou dány vzájemně různé uzly x i a funkční hodnoty y i, i = 1,..., n. Hledáme funkce splňující ϕ(x i ) y i, i = 0,..., n, tedy funkci, jejíž graf budete procházet,,blízko zadaných uzlů. Aproximace metodou nejmenších čtverců Necht jsou dány funkce ϕ 1 (x) a ϕ (x). Chceme nalézt hodnoty c 1, c R tak, aby funkce tvaru ϕ(x) = c 1 ϕ 1 (x) + c ϕ (x) byla nejlepší aproximací dat ve smyslu nejmenších čtverců. K tomu je třeba nejprve sestavit normální rovnice. Ty mají tvar n c 1 (ϕ 1 (x i )) n + c ϕ 1 (x i ) ϕ (x i ) = i=1 i=1 n n c 1 ϕ (x i ) ϕ 1 (x i ) + c (ϕ (x i )) = i=1 i=1 n i=1 y i ϕ 1 (x i ), n y i ϕ (x i ). i=1 Takovou soustavu je pak snadné vyřešit a nalézt tak ty správné koeficienty c 1, c R. Poznámka Budeme-li hledat přímku, tedy lineární funkci ϕ(x) = c 1 + c x. Pak ϕ 1 (x) = 1, ϕ (x) = x a soustava normálních rovnic má tvar n n c 1 1 + c x i = i=1 i=1 n n c 1 x i + c xi = i=1 i=1 n i=1 y i, n y i x i. i=1

6.Řy 7 - Metoda nejmenších čtverců: přímka Aproximujte následující data lineární funkcí metodou nejmenších čtverců. i=0 i=1 i= i=3 i=4 x i 3 5 7 8 y i 5 4 4 3 0 ϕ(x) = c 1 + c x Nejprve zadáme data. >> x=[ 3 5 7 8] >> y=[5 4 4 3 0] Pro výpočet budeme potřebovat také matici soustavy normálních rovnic G a vektor pravé strany d. >> G(1,1) = 5 >> G(1,) = sum(x) >> G(,1) = sum(x) >> G(,) = sum(x.ˆ) >> d(1,1) = sum(y) >> d(,1) = sum(x.*y) Soustavu normálních rovnic vyřešíme. >> c = Gˆ-1*d Hledaná aproximace nejlepší ve smyslu nejmenších čtverců má tedy tvar (koeficienty zaokrouhlujeme na čtyři desetinná místa) ϕ(x) = 6.4693 0.65385 x. Získanou aproximaci nyní uložíme do proměnné f. >> f = @(x) c(1)+c()*x a vykreslíme její graf společně se znázorněním zadaných bodů. >> plot(x,y, o ) >> grid on, hold on >> fplot(f,[ 8], r ) >> legend( zadana data, primka )

7.Řy 8 - Metoda nejmenších čtverců Aproximujte následující data x i -5.5-4.1-3.5 1.3.6 3.5 5.8 7.3 10.6 14.9 y i -34-11 1 6-15 -19 5 41-7 -17 funkcí 1 ϕ(x) = c 1 cos(x) + c e x metodou nejmenších čtverců. Nejprve zadáme data. >> x = [-5.5-4.1-3.5 1.3.6 3.5 5.8 7.3 10.6 14.9] >> y = [-34-11 1 6-15 -19 5 41-7 -17] Následně definujeme funkce ϕ 1 (x) = cos x a ϕ (x) = 1 e x pod proměnnými f1, f. >> f1 = @(x)cos(x) >> f = @(x)1./exp(x) Pro výpočet budeme potřebovat také matici soustavy normálních rovnic G a vektor pravé strany d. >> G(1,1) = sum(f1(x).ˆ) >> G(1,) = sum(f1(x).*f(x)) >> G(,1) = sum(f(x).*f1(x)) >> G(,) = sum(f(x).ˆ) >> d(1,1) = sum(f1(x).*y) >> d(,1) = sum(f(x).*y) Soustavu normálních rovnic vyřešíme. >> c = Gˆ-1*d Hledaná aproximace nejlepší ve smyslu nejmenších čtverců je ϕ(x) = 18.1137 cos x 0.1630 1 e x. Získanou aproximaci nyní uložíme do proměnné f >> f = @(x)c(1)*f1(x)+c()*f(x) a vykreslíme její graf společně se znázorněním zadaných bodů. >> plot(x,y, o ) >> grid on, hold on >> fplot(f,[-5.5 14.9], g ) >> legend( zadana data, nalezena funkce )

Řy9 - Nelineární rovnice 8. Nelineární rovnice Nelineární rovnice Je dána spojitá funkce f (x). Hledáme x R, které je řešením rovnice Separace kořenů f (x) = 0. Grafická separace: Z grafu funkce f najdeme polohu průsečíků s x- ovou osou. Separace tabelací: Sestavíme tabulku funkčních hodnot funkce f a podle znaménkových změn určíme intervaly obsahující kořeny. Metoda půlení intervalu Bod x k určíme jako střed intervalu a k, b k podle vzorce x k = ak + b k. Další interval zvolíme podle znamének funkčních hodnot f (a k ), f (x k ), f (b k ). Je-li f (a k ) f (x k ) < 0, potom a k+1 := a k, b k+1 := x k ; A je-li f (x k ) f (b k ) < 0, potom a k+1 := x k, b k+1 := b k ; Intervaly tedy postupně půlíme a jejich středy tvořící posloupnost {x k } konvergují ke kořenu x. Výpočet ukončíme při dosažení zadané přesnosti ε, tj. když platí Newtonova metoda Necht jsou splněny následující předpoklady: 1. f nemění znaménko na intervalu a, b ;. f nemění znaménko na intervalu a, b ; 3. platí f (a) f (b) < 0; 4. platí f (a) < b a a f (b) < b a. f (a) f (b) Potom posloupnost {x k } počítaná podle vzorce x k+1 = x k f (xk ) f (x k ) konverguje pro libovolnou počáteční aproximaci x 1 a, b. Výpočet ukončíme při dosažení zadané přesnosti ε, tj. když platí. x k x k+1 ε. b k a k ε a poslední střed x k je pak aproximací kořene x s přesností ε.

9.Řy 10 - Metoda půlení intervalu Určete všechny kořeny rovnice x + e x = 0 s přesností ε = 10 metodou půlení intervalu. Provedeme separaci kořenů. Zadáme funkci a vykreslíme její graf. >> f = @(x)*x+-exp(x) >> fplot(f, [-5,5]) >> grid on Do proměnných a1 a b1 zadáme meze intervalu, které jsme zjistili separací. V těchto bodech zjistíme funkční hodnoty. >> a1 = -1 >> b1 = 0 >> f(a1) >> f(b1) Spočítáme x1 jako polovinu intervalu (a 1, b 1 ) a v tomto bodě spočítáme funkční hodnotu. >> x1 = (a1+b1)/ >> f(x1) Spočítáme chybu výpočtu, a pokud je větší neˇz ε, výpočet pokračuje dál. >> Chyba = abs(b1-a1)/ Podle znamének f (a 1 ), f (x 1 ), f (b 1 ) určíme nový interval (a, b ). >> a = a1 >> b = x1 Spočítáme x jako polovinu intervalu (a, b ) a v tomto bodě spočítáme funkční hodnotu. Spočítáme chybu výpočtu, a pokud je větší než ε, výpočet pokračuje dál. >> x = (a+b)/ >> f(x) >> Chyba = abs(b-a)/ Podle znamének f (a ), f (x ), f (b ) určíme nový interval (a 3, b 3 ). >> a3 = a >> b3 = x Spočítáme x3 jako polovinu intervalu (a 3, b 3 ) a v tomto bodě spočítáme funkční hodnotu. Spočítáme chybu výpočtu, a pokud je větší než ε, výpočet pokračuje dál. >> x3 = (a3+b3)/ >> f(x3) >> Chyba = abs(b3-a3)/ Podle znamének f (a 3 ), f (x 3 ), f (b 3 ) určíme nový interval (a 4, b 4 ). >> a4 = x3 >> b4 = b3 Výpočet pokračuje dál, pokud je chyba větší než ε. Kořen je 0.77 ± 10. Ostatní kořeny se spočtou analogicky.

10. Řy 11 - Newtonova metoda Určete všechny kořeny rovnice x 4 cos (x) = 0 s přesností ε = 10 8 Newtonovou metodou. Provedeme separaci kořenů. >> f = @(x)x-4*cos(x).ˆ >> fplot(f, [-5,5]) >> grid on Zadáme meze nalezeného intervalu. >> a = 3 >> b = 4 Zadáme první a druhou derivaci. >> df = @(x)1+8*cos(x).*sin(x) >> ddf = @(x)-8*sin(x).ˆ+8*cos(x).ˆ Ověříme předpoklady. >> x = a:0.1:b >> df(x) >> ddf(x) >> f(a)*f(b) >> abs(f(a)/df(a)) >> abs(f(b)/df(b)) Předpoklady nejsou splněny, a tak je potřeba nalézt menší interval, ve kterém leˇzí kořen. Pak ověříme předpoklady znovu. >> fplot(f,[3,4]) >> a = 3.4 >> b = 3.6 >> x = a:0.01:b; >> df(x) >> ddf(x) >> f(a)*f(b) >> abs(f(a)/df(a)) >> abs(f(b)/df(b)) Zadáme počáteční aproximaci. >> format long >> x0 = a Vypočítáme další aproximaci a chybu, a pokud není menší neˇz ε, výpočet pokračuje dál. >> x1 = x0-f(x0)/df(x0) >> Chyba = abs(x0-x1) Vypočítáme další aproximaci a chybu, a pokud není menší než ε, výpočet pokračuje dál. >> x = x1-f(x1)/df(x1) >> Chyba = abs(x1-x) Výpočet pokračuje dál, dokud chyba není menší než ε. Kořen je 3.5014739 ± 10 8. Ostatní kořeny spočítáme obdobným způsobem.

. Numerická matematika Řy1 - Soustavy lineárních rovnic: iterační metody 11. 3 Soustavy lineárních rovnic: iterační metody Soustava lineárních rovnic Je dána soustava lineárních rovnic A x = b s regulární čtvercovou maticí A. Pak má soustava lineárních rovnic právě jedno řešení x. Konvergenční kritérium Soustavu lineárních rovnic A x = b upravíme pomocí řádkově ekvivalentních úprav na tvar s ostře diagonální maticí. Poté soustavu přepíšeme do iteračního tvaru x = C x + d. Jacobiho metoda Necht x (0) je daná počáteční aproximace. Iterační výpočet provádíme podle rekurentního vzorce x (k+1) = C x (k) + d, k = 0, 1,,.... Rozepíšeme maticové násobení po prvcích x (k+1) n i = c ij x (k) j + d i, i = 1,..., n k = 0, 1,,.... j=1 Jestliˇze posloupnost vektorů {x k } konverguje k vektoru x, pak x je řešením x = C x + d a tedy i A x = b. Vektor x (0) můˇzeme zvolit libovolně. Výpočet ukončíme, jestliˇze je splněno ukončovací kritérium x (k+1) x (k) ε, kde ε > 0 je dané malé číslo a je řádková norma. Gaussova-Seidelova metoda Necht x (0) je daná počáteční aproximace. Iterační výpočet provádíme podle rekurentního vzorce x (k+1) i 1 i = j=1 c ij x (k+1) j + n c ij x (k) j + d i, i = 1,..., n j=i+1 Vektor x (0) můžeme zvolit libovolně. Výpočet ukončíme, jestliže je splněno ukončovací kritérium x (k+1) x (k) ε.

1. Řy 13 - Jacobiho metoda Vyřešte soustavu lineárních rovnic x 1 6x +7x 3 = 16, 4x 1 5x +3x 3 = 8, 3x 1 x +x 3 = 11 pomocí Jacobiho iterační metody s přesností ε = 10. Jedna z možných úprav na soustavu s ostře diagonálně dominantní maticí. 3 1 1 11 1 4 x = 3 5 19 Rekurentní vzorce napíšeme v maticové formě a definujeme matici C a vektor d. 0 1 x (k+1) 3 1 3 = 1 x (k) + 4 0 1 5 5 0 11 3 3 4 19 5 = C x (k) + d Začneme definicí potřebných objektů. >> C = [0 1/3-1/3;1/4 0 1/;/5 /5 0] >> d = [11/3;3/4;19/5] >> x = [0;0;0] Výpočet nového vektoru, chyby a uloˇzení nového vektoru do proměnné xnovy provádíme zde: >> xnovy = C*x+d >> Chyba = max(abs(xnovy-x)) >> x = xnovy Předchozí tři příkazy opakujeme, dokud chyba bude větší neˇz 10. Hodnoty zaokrouhlíme na desetinná místa a řešení zapíšeme jako x 1 = 3 ± 10, x = 5 ± 10, x 3 = 7 ± 10.

13. Řy 14 - Gaussova-Seidelova metoda Vyřešte soustavu lineárních rovnic x 1 6x +7x 3 = 16, 4x 1 5x +3x 3 = 8, 3x 1 x +x 3 = 11 pomocí Jacobiho iterační metody s přesností ε = 10. Jedna z možných úprav na soustavu s ostře diagonálně dominantní maticí. 3 1 1 11 1 4 x = 3 5 19 Soustavu přepíšeme do poboby, která se nám hodila již u Jacobiho metody a definujeme matici C a vektor d. 0 3 1 1 3 x = 1 x + 4 0 1 5 5 0 11 3 3 4 19 5 = C x + d U Gaussovy-Seidelovy metody jsou rekurentní rovnice jiné a v maticové podobě si je nebudeme uvádět. Spokojíme se s faktem, ˇze na rozdíl od Jacobiho metody se uˇzívají nejnovější hodnoty aproximací, které jsou k dispozici. Začneme definicí potřebných objektů. >> C = [0 1/3-1/3;1/4 0 1/;/5 /5 0] >> d = [11/3;3/4;19/5] >> x = [0;0;0] Z technických důvodů inicializujeme proměnnou xnovy hodnotou proměnné x. >> xnovy = x Výpočet nového vektoru, chyby a uložení nového vektoru do proměnné xnovy provádíme zde: >> for i=1:3, xnovy(i)=c(i,:)*xnovy+d(i), end >> Chyba = max(abs(xnovy-x)) >> x = xnovy Tyto příkazy opakujeme, dokud není chyba menší neˇz 10. Hodnoty zaokrouhlíme na dvě desetinná místa a řešení zapíšeme jako x 1 = 3 ± 10, x = 5 ± 10, x 3 = 7 ± 10.

Řy15 - Numerické integrování 14. 4 Numerické integrování Určitý integrál Počítáme hodnotu určitého integrálu Integrační formule b a f (x) dx. Jednoduchá lichoběˇzníková formule Funkci f interpolujeme lineární funkci. Po její integraci je a b a f (x) dx b a ( f (a) + f (b)). Jednoduchá Simpsonova formule Funkci f interpolujeme kvadratickou funkci v uzlech a x 0 = a, x 1 = a+b, x = b. Dostáváme b f (x) dx b a ( ( ) ) a + b f (a) + 4 f + f (b). 6 Sloˇzená lichoběˇzníková formule Chceme-li integrovat funkci f na intervalu a, b sloˇzenou lichoběžníkovou formulí, musíme nejprve zadaný interval rozdělit na n N stejně dlouhých dílků. Dílky pak budou mít velikost h = (b a)/n a dostaneme uzly x i = a + ih, i = 0, 1,..., n. Složená lichoběžníková formule pro krok h pak má tvar [ ] I h = h n 1 f (x 0 ) + f (x i ) + f (x n ). i=1 Sloˇzená Simpsonova formule Chceme-li integrovat funkci f na intervalu a, b sloˇzenou Simpsonovou formulí, musíme nejprve zadaný interval rozdělit na n stejně dlouhých dílků, kde n N je sudé. Dílky pak budou mít velikost h = (b a)/n a dostaneme lichý počet uzlů x i = a + ih, i = 0, 1,..., n. Složená Simpsonova formule pro krok h pak má tvar I h = h 3 [ n/ f (x 0 ) + 4 f (x i 1 ) + i=1 n/ 1 i=1 Výpočet integrálu se zadanou přesností f (x i ) + f (x n ) Spočítáme hodnotu pomocí integrační formule pro krok h tj. I h. Dále spočítáme hodnotu pro poloviční krok h/, tj. I h/. Výpočet ukončíme, pokud platí I h I h/ ε. ].

15. Řy 16 - Složená lichoběžníková formule Vypočtěte integrál 3 složenou lichoběžníkovou formulí pro n = 8. 1 e x dx Nejprve definujeme funkci f a integrační meze uložíme do proměnných a, b. >> f = @(x)exp(x.ˆ); >> a = -1; >> b = 3; Zadáme n = 8 a spočítáme velikost kroku h. Uzly uloˇzíme jako vektor do proměnné x. >> n = 8; >> h = (b-a)/n; >> x = a:h:b; Numerickou hodnotu integrálu spočteme a uloˇzíme do proměnné I. >> I=h/*(f(x(1))+*sum(f(x(:n)))+f(x(n+1))) Integrál má hodnotu 30.64.

Řy17 - Složená Simpsonova formule 16. Vypočtěte integrál e 1 ln x 9 x dx sloˇzenou Simpsonovou formulí se zadanou přesností ε = 10 8. Nejprve definujeme funkci f a integrační meze uložíme do proměnných a, b. >> f = @(x)log(x)./sqrt(9-x.ˆ); >> a = 1; >> b = exp(1); V prvním kroku zvolíme n =. Uzly uloˇzíme jako vektor do proměnné x. >> n = ; >> h = (b-a)/n; >> x = a:h:b; Numerickou hodnotu integrálu spočteme a uložíme do proměnné Inovy. >> Inovy = h/3*(f(x(1))+4*sum(f(x(::n)))+*sum(f(x(3::n)))+f(x(n+1))) Spočtenou hodnotu integrálu pouze uloˇzíme do proměnné I. Pak zdvojnásobíme hodnotu n a celý výpočet zopakujeme. Nakonec spočteme chybu I h I h >> I = Inovy; >> n = *n >> h = (b-a)/n >> x = a:h:b; >> Inovy = h/3*(f(x(1))+4*sum(f(x(::n)))+*sum(f(x(3::n)))+f(x(n+1))) >> Chyba = abs(inovy-i) Předchozích šest příkazů budeme opakovat, dokud bude chyba větší neˇz 10 8. Protoˇze cílíme na přesnost 10 8, nebudou nám samozřejmě stačit čtyři desetinná místa, která MATLAB zobrazuje při formátu short. Je třeba přepnout formát výstupu na long. >> format long Výsledek zaokrouhlíme na osm desetinných míst a zapíšeme jako e 1 ln x 9 x dx = 0.50661191 ± 10 8.

Řy18 - Počáteční úlohy pro ODR 17. 5 Počáteční úlohy pro ODR Počáteční úloha pro obyčejnou diferenciální rovnici Hledáme funkci y = y(x), která na intervalu a, b vyhovuje rovnici a počáteční podmínce y (x) = f (x, y(x)) y(a) = c. Eulerova metoda Interval a, b rozdělíme na ekvidistantní uzly s krokem h: x i = a + ih, i = 0, 1,..., n, kde n = b a h. Pak spočítáme čísla y 0 = c, y 1, y,..., y n, která aproximují hodnoty přesného řešení y(x 0 ), y(x 1 ), y(x ),..., y(x n ): y 0 = c, y i+1 = y i + h f (x i, y i ), i = 0, 1,..., n 1. Rungeova-Kuttova metoda Interval a, b rozdělíme na ekvidistantní uzly s krokem h:rungeova- Kuttova metoda x i = a + ih, i = 0, 1,..., n, kde n = b a h. Pak spočítáme čísla y 0 = c, y 1, y,..., y n, která aproximují hodnoty přesného řešení y(x 0 ), y(x 1 ), y(x ),..., y(x n ): y 0 = c, pro i = 0, 1,..., n 1 počítáme hodnotu y i+1 pomocí vzorce y i+1 = y i + 1 6 (k 1 + k + k 3 + k 4 ), k 1 = h f (x i, y i ), k = h f (x i + h, y i + k 1 ), k 3 = h f (x i + h, y i + k ), k 4 = h f (x i+1, y i + k 3 ).

18. Řy 19 - Eulerova metoda Počáteční úlohu y = y x +, y(0) = 1, řešte na intervalu 0, pomocí Eulerovy metody s krokem h = 0.5. Zadáme krajní meze intervalu a, b, hodnotu počáteční podmínky c a funkci pravé strany diferenciální rovnice f. >> a = 0; >> b = ; >> c = -1; >> f = @(x,y)y-x.ˆ+; Zadáme velikost kroku h a vypočítáme počet dílů dělení n = b a h. >> h = 0.5; >> n = (b-a)/h; Pomocí dvojtečkové konvence vypočítáme hodnoty x i = a + ih pro i = 0,..., n. >> x = a:h:b; Zadáme hodnotu y 0 a spočítáme ostatní hodnoty y. Připomeňme, že v MATLABu se indexuje od 1, tedy hodnoty y 0, y 1,..., y n se uloží do proměnných y(1), y(),..., y(n+1). >> y(1) = c; >> for i=1:n, y(i+1)=y(i)+h*f(x(i),y(i)); end Hodnoty numerického řešení vypíšeme do tabulky a vykreslíme do grafu. >> [x;y] >> plot(x,y) Nalezené numerické řešení diferenciální rovnice je x i 0 0.5 1 1.5 y i -1-0.5 0.15 0.6875 0.9063

19. Řy 0 - Rungeova-Kuttova metoda Počáteční úlohu y = sin(x) + cos(3y), y( 1) = 1, řešte na intervalu 1, 4 pomocí Rungeovy-Kuttovy metody s krokem h = 1. Zadáme krajní meze intervalu a, b, hodnotu počáteční podmínky c a funkci pravé strany diferenciální rovnice f. >> a = -1; >> b = 4; >> c = 1; >> f = @(x,y)sin(x)+cos(3*y); Zadáme velikost kroku h a vypočítáme počet dělení n = b a h. >> h=1; >> n=(b-a)/h; Pomocí dvojtečkové konvence vypočítáme hodnoty x i. >> x=a:h:b; Zadáme hodnotu první hodnotu y 0 a spočítáme ostatní hodnoty y. V každém kroku se počítají hodnoty k 1, k, k 3, k 4 a y i+1. >> y(1) = c; >> for i=1:n, k1 = h*f(x(i),y(i)); k = h*f(x(i)+h/,y(i)+k1/); k3 = h*f(x(i)+h/,y(i)+k/); k4 = h*f(x(i+1),y(i)+k3); y(i+1) = y(i)+1/6*(k1+*k+*k3+k4); end Hodnoty numerického řešení vypíšeme do tabulky a vykreslíme do grafu. >> [x;y] >> plot(x,y) Nalezené numerické řešení diferenciální rovnice je x i -1 0 1 3 4 y i 1 0.510 0.8468 0.93 0.6741 0.3465

Řy1 - MATLAB operace a funkce 0. Operace sčítání + odčítání - násobení * dělení / mocnina závorky ( ) Matematické funkce Priorita priorita operace 1.. * / 3. + - absolutní hodnota x abs( ) druhá odmocnina x sqrt( ) exponenciální funkce e x exp( ) přirozený logaritmus ln(x) log( ) dekadický logaritmus log(x) log10( ) sinus sin(x) sin( ) kosinus cos(x) cos( ) tangens tg(x) tan( ) kotangens cotg(x) cot() arkussinus arcsin(x) asin( ) arkuskosinus arccos(x) acos( ) arkustangens arctg(x) atan( ) arkuskotangens arctg(x) acot( ) operací Méně pouˇzívané funkce signum sign( ) logaritmus o základu log( ) hyperbolický sinus sinh( ) hyperbolický kosinus cosh( ) hyperbolický tangens tanh( ) hyperbolický kotangens coth( ) Zaokrouhlování zaokrouhlování na celé číslo round( ) zaokrouhlování na nejbliˇzší niˇzší celé číslo (dolů) floor( ) zaokrouhlování na nejbližší vyšší celé číslo (nahoru) ceil( ) zaokrouhlování na nejbližší celé číslo směrem k nule fix( ) Konstanty Ludolfovo číslo π = 3.14... nekonečno neurčitý výraz pi inf NaN Definice vlastní matematické funkce f=@(proměnné)předpis funkce f=@(x)sin(x)-3*x

Řy - MATLAB matice a vektory 1. Vektory a matice A(3,) prvek a 3, matice A A(3,:) třetí řádek matice A A(:,) druh sloupec matice A Základní informace o matici, vektoru rozměr matice A (počet řádků, počet sloupců) počet prvků matice A počet prvků vektoru v Příkazy lineární algebry size(a) numel(a length(v) determinant matice A det(a) hodnost matice A rank(a) inverzní matice A 1 inv(a) převedení matice A na horní trojúhelníkový tvar rref(a) pomocí eliminace transponovaná atice k matici A A Další operace pro matice matice typu m n náhodných čísel z intervalu 0, 1 matice nul typu m n matice jedniček typu m n jednotková matice typu m n součet prvků ve sloupcích matice A součin prvků ve sloupcích matice A největší hodnota ve sloupcích matice A nejmenší hodnota ve sloupcích matice A rand(m,n) zeros(m,n) ones(m,n) eyes(m,n) sum(a) prod(a) max(a) min(a) Maticové operace součet matic + (např. A+B je matice s prvky a ij + b ij ) rozdíl matic - (např. A-B je matice s prvky a ij b ij ) součin matic *,,řádek krát sloupec pravé maticové dělení / (např. A/B je matice A B 1 ) levé maticové dělení \ (např. A\B je matice A 1 B) mocnina matic (např. A k je A A... A (k-krát ) Operace,,prvek po prvku součin matic,,prvek po prvku.* (např. A.*B je matice s prvky a ij b ij ) pravé dělení,,prvek po prvku./ (např. A./B je matice s prvky a ij /b ij ) levé dělení,,prvek po prvku.\ (např. A.\B je matice s prvky b ij /a ij ) mocnina. (např. A. k je matice s prvky (a ij ) k )

Řy3 - MATLAB programování. Programování záhlaví funkce function [výstupy ] = rozhodovací blok if podmínka 1 blok příkazů end rozhodovací blok if podmínka 1 blok příkazů elseif podmínka blok příkazů... else blok příkazů end jméno (vstupy) Relační operátory je rovno = == není ovno = = je menší < < je větší > > je menší nebo rovno <= je větší nebo rovno >= Logické operátory a (konjunkce) nebo (disjunkce) negace and(a,b) nebo a & b or(a,b) nebo a b not(a) nebo a cyklus se známým počtem opakování for rozsah hodnot blok příkazů end cyklus s podmínkou while podmínka blok příkazů end

Řy4 - MATLAB grafy a jiné 3. Grafy, ostatní příkazy plot(x,y) plot(x,y, specifikace ) fplot(funkce,[a,b]) Specifikace grafu Barvy Symboly Typy čar b modrá. tečky - plná g zelená o kroužky : tečkovaná r červená x křížky -. čerchovaná c světle modrá + kříˇzky + -- tečkovaná m fialová * hvězdy y ˇzlutá s čtverce k černá d kosočtverce v trojúhelníky (dolu) trojúhelníky (nahoru) < trojúhelníky (vlevo) > trojúhelníky (vpravo) p pěticípé hvězdy h šesticípé hvězdy Příkazy pro práci s proměnnými, programem smazání proměnných clear zavření okna s obrázkem close smazání obrazovky clc uložení textu z command window diary soubor.txt seznam proměnných who seznam proměnných s informacemi whos formát výpisu dlouhý format long formát výpisu krátký format short formát výpisu ve zlomku format rat Úprava grafu rozsah os axis([,,, ]) poměr os 1:1 axis equal nadpis obrázku title( text ) popis x-ové osy xlabel( text ) popis y-ové osy ylabel( text ) legenda legend( text1, text,... ) zobrazení mříˇzky do grafu grid on více grafů jednoho obrázku hold on