Modelování v elektrotechnice

Podobné dokumenty
Integrování jako opak derivování

Skalární sou in. Úvod. Denice skalárního sou inu

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

Vektor náhodných veli in - práce s více prom nnými

Vektory. Vektorové veli iny

Obsah. Pouºité zna ení 1

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

5. Aplikace diferenciálního a integrálního po tu v jedné dimenzi ZS 2017/18 1 / 32

nazvu obecnou PDR pro neznámou funkci

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady

Ergodické Markovské et zce

Pr b h funkce I. Obsah. Maxima a minima funkce

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Rovnice a nerovnice. Posloupnosti.

Binární operace. Úvod. Pomocný text

P íklad 1 (Náhodná veli ina)

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Co je to tensor... Vektorový prostor

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

Reálná ísla a posloupnosti Jan Malý

T i hlavní v ty pravd podobnosti

1. Spo t te limity (m ºete pouºívat l'hospitalovo pravidlo) x cotg x 1. c) lim. g) lim e x 1. cos(x) =

P íklady k prvnímu testu - Scilab

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4

VYBRANÉ APLIKACE RIEMANNOVA INTEGRÁLU I. OBSAH A DÉLKA. (f(x) g(x)) dx.

Matice a e²ení soustav lineárních rovnic

Lineární algebra pro fyziky. Zápisky z p edná²ek. Dalibor míd

Státnice - Rekurzivní a rekurzivn spo etné mnoºiny

1 Spo jité náhodné veli iny

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

MATLB: p edná²ka 1. Prom nné, indexování a operátory. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

I. VRSTEVNICE FUNKCE, OTEV ENÉ A UZAV ENÉ MNOšINY

ízení Tvorba kritéria 2. prosince 2014

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Základní praktikum laserové techniky

Relace. Základní pojmy.

Zkou²ková písemná práce. 1 z p edm tu 01MAB4

Kuželosečky a kvadriky ve škole i kolem

Úvod. Matematická ekonomie 1. Jan Zouhar. 20. zá í 2011

Limity funkcí v nevlastních bodech. Obsah

Dolní odhad síly pro ztrátu stability obecného prutu

Derivování sloºené funkce

Cvi ení 1. Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, 2018

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

1 Spojitý model. 1.1 Princip stochastického modelu

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I

Zkou²ková písemná práce. 1 z p edm tu 01MAB4

7 Algebraické a nealgebraické rovnice a nerovnice v C. Numerické e²ení rovnic

Semestrální práce z p edm tu URM (zadání), 2014/2015:

11 Soustavy rovnic a nerovnic, Determinanty a Matice

Obsah. Zpracoval Ctirad Novotný pro matmodel.cz.

Základní pojmy teorie mnoºin.

Cvi ení 1. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 2, Organizace cvi ení 2 Matlab Za ínáme Základní operace Základní funkce

na za átku se denuje náhodná veli ina

Testy pro více veli in

Záludnosti velkých dimenzí

Post ehy a materiály k výuce celku Funkce

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - vy²²í úrove obtíºnosti MAGVD10C0T01 e²ené p íklady

e²ení 5. série Binární kódy autor: Vlá a

e²ení 1. série Úvodní gulá² autor: Kolektiv org

Transak ní zpracování I

1 P ílohy. 1.1 Dopln ní na tverec

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Vzorové e²ení 4. série

4. V p íprav odvo te vzorce (14) a (17) ze zadání [1].

Jméno: P íjmení: Datum: 17. ledna 2018 Nechci zápo et p i hodnocení niº²ím neº (nezávazné): vadí mi vystavení mého hodnocení na internetu.

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

Co je obsahem numerických metod?

Soustavy lineárních rovnic

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

Zápo tová písemná práce. 1 z p edm tu 01MAB4 varianta A

6. Matice. Algebraické vlastnosti


Domácí úkol 2. Obecné pokyny. Dbejte na formáln správný zápis výpo tu! Pro vy íslení výsledku pro binomické rozd lení pouºijte nap. Maple nebo Matlab.

Aplikovaná numerická matematika - ANM

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA. Katedra matematiky. Matematika 2. pro technické obory. Petr Gurka, Stanislava Dvořáková

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

ODR metody Runge-Kutta

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY

1 Data. 2 Výsledky m ení velikostí. Statistika velikostí výtrus. Roman Ma ák

2C Tisk-ePROJEKTY

Cvi ení 7. Docházka a testík - 15 min. Distfun 10 min. Úloha 1

3. Polynomy Verze 338.

Matematika B101MA1, B101MA2

Specifikace systému ESHOP

Výuka matematiky v 21. století na S technického typu

Fyzikální praktikum 3

Základní stavební prvky algoritmu

Soustavy lineárních rovnic

Prezentace. Ing. Petr V elák 6. b ezna 2009

Uºivatelská p íru ka k programu SlaFoR verze 1.0

Uºivatelská p íru ka Octopus

0.1 Úvod do lineární algebry

Unfolding - uºivatelský manuál

Lineární harmonický oscilátor

Transkript:

Katedra teoretické elektrotechniky Elektrotechnická fakulta ZÁPADOƒESKÁ UNIVERZITA V PLZNI Modelování v elektrotechnice Pánek David, K s Pavel, Korous Luká², Karban Pavel 28. listopadu 2012

Obsah 1 Úvod do skriptovacího jazyka Matlab 1 1.1 Prom nné a datové typy........................... 1 1.1.1 P íklady................................ 1 1.2 Rízení b hu programu............................ 2 1.2.1 Podmín ný p íkaz.......................... 2 1.2.2 Cykly................................. 2 2 e²ení soustav rovnic 5 2.1 Gaussova eliminace.............................. 5 2.2 Implementace Gaussovy eliminace ve skriptovacím jazyce MATLAB.. 6 3 Aproximace metodou nejmen²ích tverc 9 3.1 Úloha aproximace metodou nejmen²ích tverc.............. 9 4 Interpolace funkcí 12 4.1 Lagrangeova interpolace........................... 12 5 Numerické e²ení oby ejných diferenciálních rovnic 14 5.1 Numerické metody e²ení oby ejných diferenciálních rovnic........ 14 5.1.1 Jednokrokové metody........................ 14 5.1.2 Implementace jednokrokových metod................ 15

1 Úvod do skriptovacího jazyka Matlab Matlab je název pro interaktivní programové prost edí a zárove pro skriptovací jazyk. Práce v interaktivním prost edí je intuitivní pro kaºdého, kdo má zku²enost s libovolným vývojovým prost edím. Cílem této kapitoly je shrnout základní vlastnosti skriptovacího jazyka Matlab. 1.1 Prom nné a datové typy Matlab je jazyk se slabou typovou kontrolou. Prom nné nevyºadují deklaraci a typ prom nné je ur en p i jejím pouºití. Základním typem prom nné v Matlabu je matice. Matice m ºe mít libovolný po et rozm r, speciálními p ípady jsou skalár (matice 1 1), ádkový vektor (matice 1 n) a sloupcový vektor(matice n 1). Výchozím datovým typem prom nných je typ double. 1.1.1 P íklady P íkaz a = 10 vytvo í skalární prom nnou, a = [1, 1, 1] vytvo í ádkový vektor, a = [1; 1; 1] sloupcový vektor a = [1, 0, 0; 0, 1, 0; 0, 0, 1] vytvo í tvercovou matici 3 3. V²echny vytvo ené objekty obsahují reálná ísla typu double. V Matlabu lze p ímo pracovat s komplexními ísly. Pro ozna ení imaginární jednotky lze pouºít symbol i nebo j. Komplexní íslo lze vytvo it pomocí p íkazu 1 x = 1 + 1j. P ehled celo íselných typ je uveden v tabulce 1.1. Pouºité prom nné se ukládají. Pokud jsou prom nné dále nepot ebné lze je vymazat p íkazem clear. x = 10; clear x; 1 P i denici komplexního ísla je moºné pouºít i zápis x = 1 + j. Doporu ujeme v²ak tento zp sob zápisu nepouºívat, m ºe dojít ke kolizi s názvem prom nné. 1

KAPITOLA 1. ÚVOD DO SKRIPTOVACÍHO JAZYKA MATLAB Typ Rozsah Konverzní funkce 8-bitové íslo se znaménkem 128 127 int8 8-bitové íslo bez znaménka 0 255 uint8... 64-bitové íslo se znaménkem 2 63 2 63 1 int64 64-bitové íslo bez znaménka 0 2 64 1 uint64 Tabulka 1.1: P ehled celo íselných datových typ Matlabu 1.2 Rízení b hu programu Ve skriptovacím jazyce MATLAB jsou k dispozici v²echny základní ídící struktury. 1.2.1 Podmín ný p íkaz Podobn jako ve v t²in programovacích jazyk je v Matlabu k dispozici podmín ný p íkaz if. Syntaxe p íkazu if je: if vyraz prikazy Pokud je výsledek výrazu logická jedni ka (podmínka je spln na) provedou se v²echny p íkazy aº do do symbolu. P íkaz if je moºné roz²í it o nepovinou ást else if vyraz prikazy else prikazy Pokud není spln na podmínka, vykoná se ást programu mezi else a : a = 2; if a>1 else disp('a je vetsi nez jedna'); disp('a je mensi nebo rovno jedne'); 1.2.2 Cykly Cykly jsou ídící struktury, které umoº ují opakované vykonávání bloku p íkaz. Rozli- ²ujeme cykly s p edem daným po tem opakování (cyklus for) a cykly u kterých po et opakování p edem není znám (cyklus while). 2

KAPITOLA 1. ÚVOD DO SKRIPTOVACÍHO JAZYKA MATLAB Cyklus for Základní syntaxe p íkazu for je: for n = vektor prikazy P íkazy mezi klí ovými slovy for a jsou provedeny pro kaºdý prvek vektoru vektor. V kaºdé iteraci je p i azen prom nné n prvek vektoru vektor. Nap íklad: for n = 1:10 x(n) = sin(n*pi/10); >> x x = 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 0.5878 0.3090 0.0000 Cyklus while Na rozdíl od cyklu for, který vykoná skupinu p íkaz p edem daným po tem opakování, p íkaz while umoº uje provést skupinu p íkaz v závislosti na spln ní logické podmínky. Syntaxe p íkazu while je následující: while vyraz prikazy Kód níºe ukazuje pouºití p íkazu while. Uºivatel je poºádán o zadání libovolného (p edem neznámého po tu ísel). Zadávání ukon í uºivatel íslem 1. Poté je ze zadaných ísle vypo ítán aritmetický pr m r. Kód programu: soucet = 0; pocet = 0; cislo = 0; while ~(cislo == -1) retezec = input('zadej cislo:','s'); cislo = sscanf(retezec,'%d'); soucet = soucet + cislo; pocet = pocet + 1; prumer = soucet/pocet Výstup programu: 3

KAPITOLA 1. ÚVOD DO SKRIPTOVACÍHO JAZYKA MATLAB --> pokus Zadej cislo:1 Zadej cislo:2 Zadej cislo:3 Zadej cislo:4 Zadej cislo:5 Zadej cislo:-1 prumer = 2,3333 4

2 e²ení soustav rovnic 2.1 Gaussova eliminace Gaussova eliminace je pravd podobn nejznám j²í metodou e²ení soustav lineárních algebraických rovnic. Stru n popí²eme princip metody. P edpokládejme soustavu rovnic ve tvaru a 11 x 1 + a 12 x 2 + a 13 x 3... a 1n x n = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3... a 2n x n = b 2. =.. (2.1) a n1 x 1 + a n2 x 2 + a n3 x 3... a nn x n = b n Je z ejmé, ºe soustavu rovnic lze vyjád it v maticovém tvaru a 11 a 12 a 13... a 1n a 21 a 22 a 23... a 2n......... x 1 x 2. = b 1 b 2... (2.2) a n1 a n2 a n3... a nn x 3 b 3 ƒasto budeme rovnici 2.2 zapisovat stru n ve tvaru Ax = b (2.3) Pokud aplikujeme ekvivalentní úpravy sou asn na matici A a na vektor b, víme, ºe se e²ení soustavy nezm ní. Mezi ekvivalentní úpravy pat í: vynásobení ádku matice íslem, zám na dvou ádk matice, p i tení ádku vynásobeného libovolným reálným(komplexním) íslem. Poda í-li se pomocí ekvivalentních úprav transformovat matici A na matici jednotkovou a aplikujeme-li zárove tyto úpravy na vektor b, bude po transformaci vektor b obsahovat e²ení soustavy. Gaussovu eliminaci lze rozd lit na dv ásti: dop edná redukce, zp tná substituce. 5

KAPITOLA 2. E ENÍ SOUSTAV ROVNIC P i dop edené redukci se snaºíme pomocí ekvivalentních úprav transformovat matici A na dolní trojúhelníkovou matici. V rámci zp tné substituce se snaºíme dolní trojúhelníkovou matici transformovat na matici jednotkovou. P íklad 2.1.1. Vy e²me soustavu rovnic 0 2 3 x 1 0 1 1 1 0 1 x 2 x 3 = 2 0 4 r 1 r 3 r 3 r 1. (2.4) Zám nou prvního a t etího sloupce získáme v prvním sloupci nuly pod hlavní diagonálou: 1 0 1 x 1 4 0 1 1 x 2 = 0. (2.5) 0 2 3 x 3 2 r 3 r 3 2 r 2 Chceme-li získat nulu pod hlavní diagonálou, p i teme ke t etímu ádku druhý ádek vynásobený 2. 1 0 1 x 1 4 0 1 1 x 2 = 0 r 2 r 2 + ( 1) r 3 (2.6) 0 0 1 x 3 2 Získali jsme dolní trojúhelníkovou matici a dop edná redukce je tedy hotová. P i zp tné substituci se nejprve pokou²íme získat nuly v posledním sloupci nad hlavní diagonálou. V na²em p ípad vynásobíme poslední ádek íslem 1 a p i teme k druhému ádku 1 0 1 0 1 0 0 0 1 x 1 x 2 x 3 = 4 2 2 r 1 r 1 + ( 1) r 3 (2.7). a poté ode teme poslední ádek od ádku prvního 1 0 0 x 1 2 0 1 0 x 2 = 2. (2.8) 0 0 1 x 3 2 Matice A byla transformována na dolní trojúhelníkovou matici a vektor b obsahuje e²ení soustavy. 2.2 Implementace Gaussovy eliminace ve skriptovacím jazyce MATLAB Je z ejmé, ºe Gaussovu eliminaci lze snadno algoritmizovat. V MATLABu lze provád t ádkové a sloupcové operace, takºe celou dop ednou substituci lze vy e²it pomocí dvouúrov ov vno ených cykl. Vn j²í cyklus prochází p es sloupce. Uvnit cyklu nejprve kontrolujeme zda diagonální prvek daného sloupce neobsahuje nulu. Pokud ano, zam níme p íslu²ný ádek s libovolným ádkem, který na odpovídající pozici nulu neobsahuje. Kód skriptu, který zam ní dva ádky v matici m ºe vypadat nap íklad takto: 6

KAPITOLA 2. E ENÍ SOUSTAV ROVNIC A = [1 2 3; 4 5 6; 7 8 0] radka = A(1,:) A(1,:)=A(3,:) A(3,:) = radka Výstup tohoto skriptu bude: A = 1 2 3 4 5 6 7 8 0 radka = 1 2 3 A = 7 8 9 4 5 6 7 8 0 A = 7 8 0 4 5 6 1 2 3 --> Druhou asto pouºívanou ekvivalentní operací je p i tení ádku vynásobeného konstantou, p íklad pouºití této operace ukazuje následující kód A = [1 2 3; 4 5 6; 7 8 0] A(2,:) = A(2,:)-A(2,1)*A(1,:) Výstup programu: A = 1 2 3 4 5 6 7 8 0 A = 1 2 3 0-3 -6 7 8 0 Úsek programu, který zajistí vynulování v²ech ísel v prvním sloupci (mimo diagonálního prvku), m ºe vypadat takto n = 3 A = [1 2 3; 4 5 6; 7 8 0] for i = 2:n A(i,:) = A(i,:)-A(i,1)*A(1,:)/A(1,1) Doplníme-li kód o vn j²í cyklus, který zajistí posouvání po sloupcích, máme hotový dop edný b h Gaussovy elimina ní metody 7

KAPITOLA 2. E ENÍ SOUSTAV ROVNIC n = 3 A = [1 2 3; 4 5 6; 7 8 0] for j = 1:2 for i = (j+1):n A(i,:) = A(i,:)-A(i,j)*A(j,:)/A(j,j) Skript pro zp tný b h Gaussovy elimina ní metody je analogický: for j = n : -1 : 1 for i = (j-1) : -1 : 1 A(i,:) = A(i,:) - A(i,j) * A(j,:) / A(j,j) 8

3 Aproximace metodou nejmen²ích tverc Denice 1. Základní pojmy Skalární sou in N-dimenzionálních vektor (x, y) N x i y i (3.1) i=1 Diskrétní skalární sou in funkcí f, g denovaných v bodech x 0,..., x n (f, g) n f(x i ) g(x i ) (3.2) i=1 Diskrétní norma funkce f denované v bodech x 0,..., x n indukovaná diskrétním skalárním sou inem f (f, f) (3.3) 3.1 Úloha aproximace metodou nejmen²ích tverc Jsou dány body x 0,..., x n a funkce f zadaná tabulkou hodnot v t chto bodech. Hledáme funkci ϕ M, kde M je námi zvolená t ída funkcí, která minimalizuje na této mnoºin M výraz n (f(x i ) ϕ(x i )) 2. (3.4) t=0 Pokud taková funkce f a existuje, nazýváme ji aproximací funkce f metodou nejmen²ích tverc (vzhledem k mnoºin M). Pokud mnoºina M je mnoºinou polynom nejvý²e stupn n, tato aproximace existuje vºdy. V ta 1. Nech funkce f je denovaná v bodech x 0,..., x n. Potom f a M je nejlep²í aproximace funkce f, tedy f f a < f ϕ pro v²echna ϕ M, práv kdyº platí (f f a, ϕ) = 0 ϕ M. (3.5) V ta 2. V mnoºin M existuje práv jedna aproximace f a funkce f, taková, ºe platí f f a = min f ϕ. (3.6) ϕ M 9

KAPITOLA 3. APROXIMACE METODOU NEJMEN ÍCH ƒtverc Na základ t chto v t (zejména v ty 2), m ºeme odvodit zp sob jakým lze aproximaci f a prakticky nalézt. ekli jsme, ºe M je prostor polynom nejvý²e stupn n. Tento prostor má bázi B = {e 1, e 2,..., e n } = {1, x, x 2,..., x n }. (3.7) Na²i aproximaci f a hledáme v p irozené podob f a = c n x n + c n 1 x n 1 +... + c 1 x + c 0. (3.8) Protoºe M je lineární prostor, je podmínka pro aproximaci f a (f f a, ϕ) = 0 ϕ M (3.9) z v ty 1 ekvivalentní tomu, ºe (f f a, e i ) = 0 e i B, (3.10) coº je po rozepsání výrazu pro f a ekvivalentní výrazu n c j (e j, e i ) = (f, e i ), i = 0,..., n (3.11) j=0 P edchozí rovnici je moºné zapsat maticov (e 0, e 0 )... (e n, e 0 )....... (e n, e 0 )... (e n, e n ) c 0.. c n = (f, e 0 ). (f, e n ). (3.12) 10

KAPITOLA 3. APROXIMACE METODOU NEJMEN ÍCH ƒtverc P íklad 3.1.1. Funkci f zadanou tabulkou proloºte polynomem prvního stupn. x 1 2 3 f(x) 0 2 1 e²ení Vzhledem ke zvolenému stupni aproximujícího polynomu má mnoºina M bázi B = {e 0 = 1, e 1 = x}. (3.13) P ímo z denice m ºeme psát (e 0, e 0 ) = 2 1 1 = 3 (3.14) i=0 (f, e 0 ) = (f, e 1 ) = (e 0, e 1 ) = (e 1, e 1 ) = 2 1 x i = x 1 + x 2 + x 3 = 1 + 2 + 3 = 6 (3.15) i=0 2 x i x i = x 2 1 + x 2 2 + x 2 3 = 1 + 4 + 9 = 14 (3.16) i=0 2 f(x i ) 1 = f(x 1 ) + f(x 2 ) + f(x 3 ) = 0 + 2 + 1 = 3 (3.17) i=0 2 f(x i ) x i = f(x 1 )x 1 + f(x 2 )x 2 + f(x 3 )x 3 = 0 + 4 + 3 = 7 (3.18) i=0 Pro koecienty c 0 a c 1 tedy dostaneme maticovou rovnici [ ] [ ] [ ] 3 6 c 0 3 = 6 14 c 1 7 (3.19) Po vy e²ení Gaussovou eliminací, vyjde c 0 = 0, c 1 = 0,5. Hledanou aproximací je tedy p ímka popsaná rovnicí f a (x) = 0,5x. (3.20) Výsledek aproximace: f(x) 2 1 f a (x) = 0,5x 0 0 1 2 3 4 5 6 x 11

4 Interpolace funkcí Interpolace (lat. inter-polare, vylep²it vkládáním) v numerické matematice znamená nalezení p ibliºné hodnoty funkce v n jakém intervalu, je-li její hodnota známa jen v n kterých jiných bodech tohoto intervalu. Pouºívá se v p ípad, ºe hodnoty funkce v ur itých bodech intervalu jsou bu to uvedeny v tabulce, získány m ením, nebo se vyplatí známou funkci nahradit funkcí jednodu²²í. 4.1 Lagrangeova interpolace P edpokládejme, ºe funkce f(x) je dána svými hodnotami v n+1 bodech x i, i = 0,..., n (body x i nazýváme uzly interpolace). Za nejjednodu²²ím zp sob interpolace lze pova- ºovat interpolaci Lagrangeovým polynomem. P i interpolaci Lagrangeovým polynomem hledáme polynom p n (x) = a n x n + a n 1 x n 1 + + a 1 x + a 0 stupn n tak, aby platilo p n (x 0 ) = f(x 0 ) p n (x 1 ) = f(x 1 ). p n (x n ) = f(x n ) (4.1) Soustava rovnic (4.1) p edstavuje n+1 rovnic pro n+1 neznámých koecient polynomu p n (x). Tuto soustavu lze e²it nap íklad Gaussovou eliminací. P íklad 4.1.1. Funkci f zadanou tabulkou proloºte Lagrangeovým polynomem druhého stupn p 2 (x) = a 2 x 2 + a 1 x + a 0. x 1 2 3 f(x) 0 2 1 e²ení Podle (4.1) sestavíme soustavu rovnic a 2 x 2 0 + a 1 x 0 + a 0 = f(x 0 ), a 2 x 2 1 + a 1 x 1 + a 0 = f(x 1 ), a 2 x 2 2 + a 1 x 2 + a 0 = f(x 2 ). Po dosazení íselných hodnot za x 0, x 1 a x 2 získáme soustavu rovnic ve tvaru a 2 1 + a 1 1 + a 0 = 0, a 2 4 + a 1 2 + a 0 = 2, a 2 9 + a 1 3 + a 0 = 1. 12

KAPITOLA 4. INTERPOLACE FUNKCÍ V maticové podob tedy 1 2 1 4 2 1 9 3 1 a 2 a 1 a 0 = 0 1 2 (4.2) Po vy e²ení soustavy získáme koecienty Langrangeova polynomu a 2 = 1,5, a 1 = 6,5, a 0 = 5. Výsledek interpolace: f(x) 2 1 0 1 2 3 4 5 p 2 (x) = 1,5x 2 + 6,5x 5 0 0.5 1.0 1.5 2.0 2.5 3.0 x 13

5 Numerické e²ení oby ejných diferenciálních rovnic Denice 2. Oby ejnou diferenciální rovnicí (ODR) prvního ádu rozumíme rovnici ve tvaru F (t, x, x ) = 0, (5.1) nebo ve speciálním p ípad, pokud je rovnice roz e²ena vzhledem k x ve tvaru x = f(t, x). (5.2) 5.1 Numerické metody e²ení oby ejných diferenciálních rovnic P i numerickém e²ení oby ejné diferenciální rovnice hledáme hodnoty neznámé funkce x ve zvolených bodech n jakého intervalu a, b. Nejjednodu²²í moºností volby bod pro vy íslení neznámé funkce x je rozd lení intervalu pomocí n+1 bod na n stejných dílk o velikosti h = b a n, (5.3) kde pro body t i platí t 0 = a, t i = t i 1 + h pro 0 < i < n, x n = b (5.4) a íslo h se nazývá krok. Hodnota p esného e²ení v bod t i bude ozna ována symbolem y(t i ), hodnota p ibliºného e²ení symbolem X i. 5.1.1 Jednokrokové metody Princip jednokrokových metod e²ení ODR spo ívá v náhrad derivace pomocí diference. x (t i ) x(t i+1) x(x i ), (5.5) h neboli po úprav x(t i+1 ) X i+1 = x(t i ) + hx (t i ). (5.6) Obvykle známe p esné e²ení pouze v krajním bod zkoumaného intervalu (po áte ní podmínka x(t 0 ) = x(a)), ve v²ech ostatních bodech známe pouze vypo tená p ibliºná e²ení X i. Rovnice (5.6) pak p ejde do tvaru X i+1 = X i + hx i (5.7) 14

KAPITOLA 5. NUMERICKÉ E ENÍ OBYƒEJNÝCH DIFERENCIÁLNÍCH ROVNIC y y(x i+1 ) Y i+1 y(x i ) h x i x i+1 x Obrázek 5.1: Princip Eulerovy metody P i náhrad derivace pomocí diference máme dv moºnosti jak vypo ítat p ibliºné e- ²ení. Nejprve p edpokládejme, ºe známe p esné e²ení X i v bod t i, potom m ºeme v tomto bod derivaci x (t i ) vyjád it vztahem x (t i ) = f(t i, x(t i )). (5.8) po dosazení do rovnice(5.7) získáme vztah pro p ibliºný výpo et e²ení v bod t i+1 (viz obrázek 5.1). X i+1 = x(t i ) + hf(t i, x(t i )). (5.9) Obvykle známe p esné e²ení pouze v krajním bod intervalu, které je dáno po áte ní podmínkou. Rovnice 5.9 dává itera ní p edpis pro výpo et e²ení, je v²ak t eba zohlednit, ºe výpo et kaºdého dal²ího bodu je zaloºen na p edchozích p ibliºných e²eních. Z tohoto faktu vyplývá relativn nízká stabilita explicitních metod, chyba aproximace se za ur itých okolností m ºe akumulovat. X i+1 = X i + hf(t i, X i ). (5.10) Metoda e²ení oby ejných diferenciálních rovnic zaloºená na p edpisu (5.10) je nazývána explicitní Eulerovou metodou. Druhý p ístup, implicitní Eulerovu metodu, k e²ení diferenciální rovnice pomocí náhrady derivace diferencí vyjad uje rovnice X i+1 = X i + hf(t i+1, X i+1 ). (5.11) Hledaná hodnota X i se vyskytuje i na pravé stran rovnice (5.11). K jejímu ur ení je t eba obecn e²it nelineární rovnici pro X i+1. P estoºe tato metoda je sloºit j²í neº explicitní Eulerova metoda, její výhody p evaºují. Za nejv t²í výhodu implicitní Eulerovy metody lze povaºovat bezpodmíne nou stabilitu. 5.1.2 Implementace jednokrokových metod Explicitní Eulerova metoda pro e²ení oby ejných diferenciálních rovnic je z hlediska implementace velice jednoduchá. P edpokládejme, ºe máme za úkol Eulerovou explicitní metodou vy e²it lineární diferenciální rovnici s konstantními koecienty ve tvaru x = f(t, x) = ax + b. (5.12) 15

KAPITOLA 5. NUMERICKÉ E ENÍ OBYƒEJNÝCH DIFERENCIÁLNÍCH ROVNIC Dále p edpokládejme, ºe budeme e²it rovnici s po áte ní podmínkou x(t 0 ) = x 0, na intervalu t 0, t 1. Vstupem metody tedy budou koecienty a a b, které popisují diferenciální rovnici, po áte ní podmínka x 0, interval e²ení a po et bod, na které bude interval e²ení rozd len. Po dosazení za f(t i, x i ) do rovnice (5.10) získáme p edpis pro metodu ve tvaru X i+1 = X i + h(ax i + b). (5.13) Napí²eme funkci, jejíº vstupními parametry budou koecienty a, b, po áte ní podmínka x(0) = x 0, interval e²ení 0, t 1 a po et element na které bude interval rozd len n. Okomentovaný skript, který e²í Eulerovu explicitní metodu je uveden níºe. function x = euler(a, b, x0, interval_len, n) % a, b - koeficienty dif. rov % x0 - pocatecni podminka % interval_len - delka intervalu % n - pocet kroku h = interval_len / n; % vypocet kroku metody x = zeros(1, steps + 1); % priprava vektoru pro reseni % (radkovy vektor) x(1) = x0; % prvni prvek vektoru je pocatecni podminka % vlastni smycka programu for i = 1:steps x(i+1) = x(i) + h * (a * x(i) + b); Pouºití funkce Euler ukazují následující ádky kódu. t = 0:0.01:10; % priprava casove osy x = euler(-1, 1, 10, 10, 1000); % volani funkce plot(t,x); % vykresleni grafu reseni 16