Základy programování: Algoritmizace v systému MATLAB
Základy programování: Algoritmizace v systému MATLAB Magda Francová
[email protected] CN 463
23. února 2010
Základy programování: Algoritmizace v systému MATLAB Úvodní hodina
Podmínky pro zápočet
80% účast na hodinách (můžete 3x chybět).
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Ú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!!!
Základy programování: Algoritmizace v systému MATLAB Ú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
Základy programování: Algoritmizace v systému MATLAB Ú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í
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Ú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 . . .”)
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Ú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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Dialogový režim Přístupný v okně command window
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Dialogový režim Přístupný v okně command window Příkazy se ihned vykonávají
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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;
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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 ea Př: c=exp(a)
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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 ea Př: c=exp(a) Základní operace (+,-,/,*,ˆ(umocnění)) Př: d=(a+b)*c
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Zavedení vektoru a matice Transponovaná matice (vektor) N = MT Př: N=M’
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Zavedení vektoru a matice Transponovaná matice (vektor) N = MT Př: N=M’ Generování jednotkové (ones(k,l)) a nulové matice (zeros(k,l)) Př: H=ones(3,3) J=zeros(3,3)
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Zavedení vektoru a matice Transponovaná matice (vektor) N = MT 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
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Zavedení vektoru a matice Transponovaná matice (vektor) N = MT 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
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Další užitečné funkce
Editor rozlišuje VELKÁ a malá písmena!!
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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).
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Příklady
Vypočtěte výrazy pro a = −2, b = 2, c = 1.5
a+
3b 2 + 2c − 1 −a3
(a + 3b)2 −1 (−a3 + 2)c
Základy programování: Algoritmizace v systému MATLAB Režimy práce Dialogový režim
Příklady
Vypočtěte výrazy pro a = −2, b = 2, c = 1.5
a+
3b 2 + 2c − 1 −a3
(a + 3b)2 −1 (−a3 + 2)c To samé po složkách pro vektory a=[1,2,3], b=[3,3,3], c=[1,2,1]
Základy programování: Algoritmizace v systému MATLAB Režimy práce Programový režim
Programový režim Pracuje se zvláštním editorem – debuggerem
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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:
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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,
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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),
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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).
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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).
Základy programování: Algoritmizace v systému MATLAB Režimy práce Programový režim
Příklad: Tlak ideálního plynu
Jaká je hmotnost dusíku v tlakové láhvi o objemu V = 50dm3 , je-li v ní při teplotě t = 20◦ C tlak dusíku p = 15MPa? Plyn se chová ideálně.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim
Používá se samostatné grafické okno Figure
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim
Používá se samostatné grafické okno Figure Príkazem figure lze otevřít nové okno.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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 h0, 2πi s krokem π/20.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim
Podrobnější informace lze nalézt pomocí příkazu help plot.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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.
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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]).
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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’).
Základy programování: Algoritmizace v systému MATLAB Režimy práce 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’).
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim - příklad Tabelujte a znázorněte funkce y 1 = e x , y 2 = e 2x , y 3 = e x/2 na intervalu h−1, 1i s krokem h = 0.1.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim - příklad Tabelujte a znázorněte funkce y 1 = e x , y 2 = e 2x , y 3 = e x/2 na intervalu h−1, 1i s krokem h = 0.1. Graficky znázorněte průběh funkce y = −cos(2a)/cos(a) na intervalu h0; π/4i s krokem π/100.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim - příklad Tabelujte a znázorněte funkce y 1 = e x , y 2 = e 2x , y 3 = e x/2 na intervalu h−1, 1i s krokem h = 0.1. Graficky znázorněte průběh funkce y = −cos(2a)/cos(a) na intervalu h0; π/4i s krokem π/100. Graficky znázorněte průběh funkce y = (3sin(a)cos(a))/(sin3 (a) + cos 3 (a)) na intervalu h0; π/2i s krokem π/100.
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Grafický režim - příklad Tabelujte a znázorněte funkce y 1 = e x , y 2 = e 2x , y 3 = e x/2 na intervalu h−1, 1i s krokem h = 0.1. Graficky znázorněte průběh funkce y = −cos(2a)/cos(a) na intervalu h0; π/4i s krokem π/100. Graficky znázorněte průběh funkce y = (3sin(a)cos(a))/(sin3 (a) + cos 3 (a)) na intervalu h0; π/2i s krokem π/100. Na louce byly slepice a krávy. Měly dohromady 100 hlav a 300 nohou. Kolik bylo kterých?
Základy programování: Algoritmizace v systému MATLAB Režimy práce Grafický režim
Práce doma Posluchárna CN224 na KCH má rozměry 6x6x4,5 m3 . Zjistěte, zda byste unesli tlakový zásobník (bombu) o objemu 50 dm3 , 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 (p1 V1 = p2 V2 ). 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.