Základy programování: Algoritmizace v systému MATLAB Magda Francová magda.francova@ujep.cz CN 463 23. února 2010
Úvodní hodina Podmínky pro zápočet 80% účast na hodinách (můžete 3x chybět).
Úvodní hodina Podmínky pro zápočet 80% účast na hodinách (můžete 3x chybět). Odevzdání čtyř větších úloh.
Úvodní hodina Podmínky pro zápočet 80% účast na hodinách (můžete 3x chybět). Odevzdání čtyř větších úloh. Aktivní práce v hodinách!!!
Úvodní hodina Podmínky pro zápočet 80% účast na hodinách (můžete 3x chybět). Odevzdání čtyř větších úloh. Aktivní práce v hodinách!!! Literatura: mé stránky na KCH UJEP (všechny přednášky, příklady, zadané úkoly) http://vyukaap.vscht.cz http://uprt.vscht.cz/majerova/matlab http://www.math.muni.cz/ kolacek/vyuka/vypsyst/navod.pdf
Úvodní hodina K čemu je dobré umět programovat? Mysl naladěná na programování - přirozená zvědavost a logický způsob myšlení
Úvodní hodina K čemu je dobré umět programovat? Mysl naladěná na programování - přirozená zvědavost a logický způsob myšlení Zvědavost - hledáme odpovědi na problémy.
Úvodní hodina K čemu je dobré umět programovat? Mysl naladěná na programování - přirozená zvědavost a logický způsob myšlení Zvědavost - hledáme odpovědi na problémy. Logika - najít způsob jak říct počítači, co potřebujete udělat.
Úvodní hodina K čemu je dobré umět programovat? Mysl naladěná na programování - přirozená zvědavost a logický způsob myšlení Zvědavost - hledáme odpovědi na problémy. Logika - najít způsob jak říct počítači, co potřebujete udělat. Počítačový program - sada instrukcí, která počítači ríká, jak provést určitý úkol. ( Je to jako kuchařský recept: sada instrukcí, která kuchaři říká, jak připravit určité jídlo. Popisuje ingredience (= data) a poloupnost kroku ( = proces), které jsou potřebné k tomu, aby se ingredience změnily na dort nebo cokoliv jiného... )
Úvod do systému MATLAB Úvod do MATLABu MATLAB = matematická laboratoř Matlab vychází z následující filozofie: vše je matice. Má-li jednu řádku nebo jeden sloupec, říká se jí vektor, má-li právě jednu řádku a jeden sloupec, je to skalár.
Úvod do systému MATLAB Úvod do MATLABu MATLAB = matematická laboratoř 1 Lepší kalkulačka - základní operace s maticemi, rychlé řešení numerických problémů, integrály, derivace... Matlab vychází z následující filozofie: vše je matice. Má-li jednu řádku nebo jeden sloupec, říká se jí vektor, má-li právě jednu řádku a jeden sloupec, je to skalár.
Úvod do systému MATLAB Úvod do MATLABu MATLAB = matematická laboratoř 1 Lepší kalkulačka - základní operace s maticemi, rychlé řešení numerických problémů, integrály, derivace... 2 Algoritmizace = programovací jayzk Matlab vychází z následující filozofie: vše je matice. Má-li jednu řádku nebo jeden sloupec, říká se jí vektor, má-li právě jednu řádku a jeden sloupec, je to skalár.
Dialogový režim Dialogový režim Přístupný v okně command window
Dialogový režim Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají
Dialogový režim Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají Přiřazovací příkaz (=) Př: a=1
Dialogový režim Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají Přiřazovací příkaz (=) Př: a=1 Potlačení zobrazení výsledku (;) Př: b=2;
Dialogový režim Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají Přiřazovací příkaz (=) Př: a=1 Potlačení zobrazení výsledku (;) Př: b=2; Funkce (sin,cos,exp,log...), argumenty funkcí v závorce e a Př: c=exp(a)
Dialogový režim Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají Přiřazovací příkaz (=) Př: a=1 Potlačení zobrazení výsledku (;) Př: b=2; Funkce (sin,cos,exp,log...), argumenty funkcí v závorce e a Př: c=exp(a) Základní operace (+,-,/,*,ˆ(umocnění)) Př: d=(a+b)*c
Dialogový režim Zavedení vektoru a matice Je možno jednoduše generovat vektory či matice, sloupce se oddělují čárkami, (1,2,3) Př: v=[1,2,3] řádky středníkem, ( 1 2 3 4 ) Př: M=[1,2;3,4] při výčtu prvků se používají hranaté závorky
Dialogový režim Zavedení vektoru a matice Transponovaná matice (vektor) N = M T Př: N=M
Dialogový režim Zavedení vektoru a matice Transponovaná matice (vektor) N = M T Př: N=M Generování jednotkové (ones(k,l)) a nulové matice (zeros(k,l)) Př: H=ones(3,3) J=zeros(3,3)
Dialogový režim Zavedení vektoru a matice Transponovaná matice (vektor) N = M T Př: N=M Generování jednotkové (ones(k,l)) a nulové matice (zeros(k,l)) Př: H=ones(3,3) J=zeros(3,3) Při vzájemné násobení (dělení) složek proměnné (vektoru a opět generujem vektor) postupujem následovně Př: z=a.*b nebo z=a.ˆ2
Dialogový režim Zavedení vektoru a matice Transponovaná matice (vektor) N = M T Př: N=M Generování jednotkové (ones(k,l)) a nulové matice (zeros(k,l)) Př: H=ones(3,3) J=zeros(3,3) Při vzájemné násobení (dělení) složek proměnné (vektoru a opět generujem vektor) postupujem následovně Př: z=a.*b nebo z=a.ˆ2 Rychlé zadání vektoru od a do b s krokem h: Př: x=-1:0.1:1
Dialogový režim Další užitečné funkce Editor rozlišuje VELKÁ a malá písmena!!
Dialogový režim Další užitečné funkce Editor rozlišuje VELKÁ a malá písmena!! Pokud chcete vypsat konkrétní peroměnnou, stačí napsat její název a potvrdit.
Dialogový režim Další užitečné funkce Editor rozlišuje VELKÁ a malá písmena!! Pokud chcete vypsat konkrétní peroměnnou, stačí napsat její název a potvrdit. Existuje proměnná ans, která je k dispozici vždy a ukládá se do ní výsledek výpočtu v případě, že není nazván jinak.
Dialogový režim Další užitečné funkce Editor rozlišuje VELKÁ a malá písmena!! Pokud chcete vypsat konkrétní peroměnnou, stačí napsat její název a potvrdit. Existuje proměnná ans, která je k dispozici vždy a ukládá se do ní výsledek výpočtu v případě, že není nazván jinak. Použité proměnné se zachovávají v paměti, lze je vypsat příkazem who, s jejich rozměry pak příkazem whos.
Dialogový režim Další užitečné funkce Editor rozlišuje VELKÁ a malá písmena!! Pokud chcete vypsat konkrétní peroměnnou, stačí napsat její název a potvrdit. Existuje proměnná ans, která je k dispozici vždy a ukládá se do ní výsledek výpočtu v případě, že není nazván jinak. Použité proměnné se zachovávají v paměti, lze je vypsat příkazem who, s jejich rozměry pak příkazem whos. Proměnné je možno mazat příkazem clear název proměnné, všechny pak příkazem clear all (uplatní se později v programovém režimu).
Dialogový režim Příklady Vypočtěte výrazy pro a = 2, b = 2, c = 1.5 a + 3b2 a 3 + 2c 1 (a + 3b) 2 ( a 3 + 2)c 1
Dialogový režim Příklady Vypočtěte výrazy pro a = 2, b = 2, c = 1.5 a + 3b2 a 3 + 2c 1 (a + 3b) 2 ( a 3 + 2)c 1 To samé po složkách pro vektory a=[1,2,3], b=[3,3,3], c=[1,2,1]
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami:
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami: ikona či příkaz menu Command window pro otevření nového souboru,
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami: ikona či příkaz menu Command window pro otevření nového souboru, otevření již existujícího programového souboru v Matlabu (dvojkliknutí myší double click),
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami: ikona či příkaz menu Command window pro otevření nového souboru, otevření již existujícího programového souboru v Matlabu (dvojkliknutí myší double click), ikona či příkaz menu Command window pro otevření již existujícího programového souboru v Matlabu.
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami: ikona či příkaz menu Command window pro otevření nového souboru, otevření již existujícího programového souboru v Matlabu (dvojkliknutí myší double click), ikona či příkaz menu Command window pro otevření již existujícího programového souboru v Matlabu. Je možno a doporučeno používat komentáře, uvozují se znakem % (procento). Vše za procentem do konce řádku je považováno za komentář a ignoruje se.
Programový režim Programový režim Pracuje se zvláštním editorem debuggerem Do programového režimu se lze dostat následujícími cestami: ikona či příkaz menu Command window pro otevření nového souboru, otevření již existujícího programového souboru v Matlabu (dvojkliknutí myší double click), ikona či příkaz menu Command window pro otevření již existujícího programového souboru v Matlabu. Je možno a doporučeno používat komentáře, uvozují se znakem % (procento). Vše za procentem do konce řádku je považováno za komentář a ignoruje se. Příkazy je možno oddělovat čárkou nebo středníkem.
Programový režim Programový režim Soubor (xxx.m) je před spuštením nutno uložit na disk a pojmenovat (nevolte ve svém vlastním zájmu divoké názvy).
Programový režim Programový režim Soubor (xxx.m) je před spuštením nutno uložit na disk a pojmenovat (nevolte ve svém vlastním zájmu divoké názvy). Soubor se spouští v okně Command window zapsáním názvu souboru.
Programový režim Programový režim Soubor (xxx.m) je před spuštením nutno uložit na disk a pojmenovat (nevolte ve svém vlastním zájmu divoké názvy). Soubor se spouští v okně Command window zapsáním názvu souboru. Je vhodné nastavit si na príslušný disk cestu pomocí ikony Path Browser (File/path browser).
Programový režim Příklad: Tlak ideálního plynu Jaká je hmotnost dusíku v tlakové láhvi o objemu V = 50dm 3, je-li v ní při teplotě t = 20 C tlak dusíku p = 15MPa? Plyn se chová ideálně.
Grafický režim Grafický režim Používá se samostatné grafické okno Figure
Grafický režim Grafický režim Používá se samostatné grafické okno Figure Príkazem figure lze otevřít nové okno.
Grafický režim Grafický režim Používá se samostatné grafické okno Figure Príkazem figure lze otevřít nové okno. Příkazem close lze zavřít poslední aktivní grafické okno, vyplatí se používat na počátku programu příkaz close all.
Grafický režim Grafický režim Používá se samostatné grafické okno Figure Príkazem figure lze otevřít nové okno. Příkazem close lze zavřít poslední aktivní grafické okno, vyplatí se používat na počátku programu příkaz close all. Pro základní zobrazení se používá příkaz plot(x,y), kde x a y jsou sloupcové vektory. Př: V programovém režimu tabelujte funkce sinus (sin) a kosinus (cos) pro x z intervalu 0, 2π s krokem π/20.
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot.
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot. Pro určení barvy (typu bodu a čáry) zobrazovaných dat se příkaz modifikuje do tvaru plot(x,y, lhk ), kde l je zkratka barvy (h-typ dat, k-typu čáry) zobrazovaných dat.
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot. Pro určení barvy (typu bodu a čáry) zobrazovaných dat se příkaz modifikuje do tvaru plot(x,y, lhk ), kde l je zkratka barvy (h-typ dat, k-typu čáry) zobrazovaných dat. Pro přidání pomocného měřítka se použije příkaz grid.
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot. Pro určení barvy (typu bodu a čáry) zobrazovaných dat se příkaz modifikuje do tvaru plot(x,y, lhk ), kde l je zkratka barvy (h-typ dat, k-typu čáry) zobrazovaných dat. Pro přidání pomocného měřítka se použije příkaz grid. Pro změnu rozsahu zobrazení se použije příkaz axis([xmin, xmax, ymin, ymax]).
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot. Pro určení barvy (typu bodu a čáry) zobrazovaných dat se příkaz modifikuje do tvaru plot(x,y, lhk ), kde l je zkratka barvy (h-typ dat, k-typu čáry) zobrazovaných dat. Pro přidání pomocného měřítka se použije příkaz grid. Pro změnu rozsahu zobrazení se použije příkaz axis([xmin, xmax, ymin, ymax]). Osy lze popsat pomocí příkazu xlabel( text ), ylabel( text ).
Grafický režim Grafický režim Podrobnější informace lze nalézt pomocí příkazu help plot. Pro určení barvy (typu bodu a čáry) zobrazovaných dat se příkaz modifikuje do tvaru plot(x,y, lhk ), kde l je zkratka barvy (h-typ dat, k-typu čáry) zobrazovaných dat. Pro přidání pomocného měřítka se použije příkaz grid. Pro změnu rozsahu zobrazení se použije příkaz axis([xmin, xmax, ymin, ymax]). Osy lze popsat pomocí příkazu xlabel( text ), ylabel( text ). Celý graf lze popsat pomocí příkazu title( text ).
Grafický režim Grafický režim - příklad Tabelujte a znázorněte funkce y1 = e x, y2 = e 2x, y3 = e x/2 na intervalu 1, 1 s krokem h = 0.1.
Grafický režim Grafický režim - příklad Tabelujte a znázorněte funkce y1 = e x, y2 = e 2x, y3 = e x/2 na intervalu 1, 1 s krokem h = 0.1. Graficky znázorněte průběh funkce y = cos(2a)/cos(a) na intervalu 0; π/4 s krokem π/100.
Grafický režim Grafický režim - příklad Tabelujte a znázorněte funkce y1 = e x, y2 = e 2x, y3 = e x/2 na intervalu 1, 1 s krokem h = 0.1. Graficky znázorněte průběh funkce y = cos(2a)/cos(a) na intervalu 0; π/4 s krokem π/100. Graficky znázorněte průběh funkce y = (3sin(a)cos(a))/(sin 3 (a) + cos 3 (a)) na intervalu 0; π/2 s krokem π/100.
Grafický režim Grafický režim - příklad Tabelujte a znázorněte funkce y1 = e x, y2 = e 2x, y3 = e x/2 na intervalu 1, 1 s krokem h = 0.1. Graficky znázorněte průběh funkce y = cos(2a)/cos(a) na intervalu 0; π/4 s krokem π/100. Graficky znázorněte průběh funkce y = (3sin(a)cos(a))/(sin 3 (a) + cos 3 (a)) na intervalu 0; π/2 s krokem π/100. Na louce byly slepice a krávy. Měly dohromady 100 hlav a 300 nohou. Kolik bylo kterých?
Grafický režim Práce doma Posluchárna CN224 na KCH má rozměry 6x6x4,5 m 3. Zjistěte, zda byste unesli tlakový zásobník (bombu) o objemu 50 dm 3, který by obsahoval veškerý vzduch z této posluchárny (hmotnost zásobníku neuvažujte). Určete rovnež tlak v této bombě za dané teploty. Teplota v posluchárně je 295 K a atmosférický tlak je 100 kpa. Molární hmotnost vzduchu je 28,96 g/mol. Návod: Využijte rovnici ideálního plynu (PV = nrt ) a známý Boyleův vztah (p 1 V 1 = p 2 V 2 ). Výpočet napište ve zvláštním editoru a pro kontrolu spusťtě v MATLABu. Výsledky a OKOMENTOVANÝ program mi pošlete e-mailem.