Aplikační počítačové prostředky X15APP MATLAB Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, Praha 6 Ing. Zbyněk Brettschneider
Funkce a subfunkce První řádek souboru tvořícího funkci obsahuje hlavičku funkce, která zajišťuje přenos dat do a z funkce function [out1,out2,...] = jmeno_funkce(inp1,inp2,...) –Proměnné uvnitř funkce jsou lokální Funkce nargin a nargout zjistí počet vstupních a výstupních parametrů fce Obsahuje-li soubor další funkci je brána jako subfunkce length(x) určí délku vektoru 2
Funkce a subfunkce Příklad Mějme funkci definovanou matlabem randn Tato funkce generuje pole náhodných čísel, jehož prvky mají normální rozdělení se střední hodnotou E=0 a směrodatnou odchylkou σ=1 (viz. Help) randn(m,n) vrací matici m x n náhodných čísel Vytvořme vektor náhodných čísel délky 1000 x=randn (1,1000) Přesvědčme se výpočtem o velikosti střední hodnoty E a směrodatné odchylce σ definováním funkce pro výpočet těchto parametrů 3
Normální rozdělení 4
Cykly, podmíněné příkazy Cykly s podmínkou na začátku while výraz příkaz end 5 Cykly s pevným počtem opakování for index=start:krok:konec příkaz end Podmíněný příkaz if logický výraz příkaz end if logický výraz příkaz 1 else příkaz 2 end if logický výraz příkaz 1 elseif příkaz 2 else příkaz 3 end Přepínač switch výraz case hodnota 1 příkaz 1 case hodnota 2 příkaz 2 otherwise příkaz 3 end
Cykly, podmíněné příkazy Pokračování příklad Nyní se budeme snažit zjistit průběh normálního rozdělení Vezmeme v úvahu že dostatečný rozsah všech generovaných náhodných čísel bude od – 4 do 4 (což je 4xσ) Tento rozsah rozdělíme na intervaly (např. o délce 0.2), v kterých budeme zjišťovat zastoupení jednotlivých generovaných náhodných čísel 6
Vizualizace plot(x,y) vykreslení dvourozměrného grafu, závislost y na x –délka x a y musí být stejná –help plot subplot (m,n,i) rozdělení obrazovky pro vykreslení grafů na mxn polí, umístění následujícího grafu (příkaz plot) do pole i title (‘text’) nadpis grafu xlabel (‘text’), ylabel (‘text’) popis os grid on aktivace mřížky axis rozsah os plot3 (x,y,z) vykreslení 3D grafů 7
Vizualizace Pokračování příklad Vytvoříme funkci pro vykreslení grafů První graf vyjadřuje závislost počtu hodnot v daném intervalu Druhý graf ukáže spočtenou střední hodnotu a velikost směrodatné odchylky 8
Vizualizace Pokračování příklad 9
Funkce funkcí Nalezení nulové hodnoty funkce jedné proměnné hodnota_korene = fzero (‘nazev_funkce’,poc_hodnota) Nalezení minima funkce min_x = fminsearch (‘nazev_funkce’,x0) Nalezení hodnoty určitého integrálu hodnota_integralu = quad (‘nazev_funkce’,dolni_mez,horni_mez) Řešení soustavy diferenciálních rovnic [t,y]=ode45(‘nazev_funkce’,casovy_interval,pocatecni_podminky) 10
Funkce funkcí Definujme jednoduchou mat. funkci sin x = x/10 a zkusme najít její minimum v okolí bodu 6 11
Funkce funkcí - řešení soustavy dif. rovnic Stavové proměnné: i = y1 u c =y2 Příklad - Obvodové rovnice sériového RLC obvodu:
Funkce funkcí - řešení soustavy dif. rovnic Připnutí RLC obvodu ke zdroji napětí 1V – přechodová charakteristika 13
Popis systému Vytvoření přenosové funkce prenos = tf (pol_citatele,pol_jmenovatele) Nalezení kořene polynomu koreny=roots (pol) Vykreslení přechodové charakteristiky step (tf,od:krok:do) Zpětné určení přenosové funkce ze znalostí pólů,nul,zesílení prenos_fce=zpk(nuly,poly,zesileni) Frekvenční a fázové charakteristiky bode (prenos_fce) 14
Popis systému RLC obvod – přechodová, frekvenční a fázová cha-ka Příklad - Přenos RLC obvodu v Laplaceově obraze s nulovými počátečními podmínkami: 15
Popis systému RLC obvod – přechodová, frekvenční a fázová cha-ka 16