Programování v Matlabu

Podobné dokumenty
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Algoritmus

Petr Šedivý Šedivá matematika

Instalační manuál inels Home Control

1.3. POLYNOMY. V této kapitole se dozvíte:

1. ZÁKLADY VEKTOROVÉ ALGEBRY 1.1. VEKTOROVÝ PROSTOR A JEHO BÁZE

IAJCE Přednáška č. 12

Zformulujme PMI nyní přesně (v duchu výrokové logiky jiný kurz tohoto webu):

f x a x DSM2 Cv 9 Vytvořující funkce Vytvořující funkcí nekonečné posloupnosti a0, a1,, a n , reálných čísel míníme formální nekonečnou řadu ( )

je konvergentní, právě když existuje číslo a R tak, že pro všechna přirozená <. Číslu a říkáme limita posloupnosti ( ) n n 1 n n n

Spojitost a limita funkcí jedné reálné proměnné

Matematika 1. Katedra matematiky, Fakulta stavební ČVUT v Praze. středa 10-11:40 posluchárna D / 13. Posloupnosti

3. cvičení - LS 2017

3. cvičení - LS 2017

Aritmetická posloupnost, posloupnost rostoucí a klesající Posloupnosti

6. Posloupnosti a jejich limity, řady

Matematika 1. Ivana Pultarová Katedra matematiky, Fakulta stavební ČVUT v Praze. středa 10-11:40 posluchárna D Posloupnosti

je konvergentní, právě když existuje číslo a R tak, že pro všechna přirozená <. Číslu a říkáme limita posloupnosti ( ) n n 1 n n n

DERIVACE FUNKCÍ JEDNÉ REÁLNÉ PROM

n=1 ( Re an ) 2 + ( Im a n ) 2 = 0 Im a n = Im a a n definujeme předpisem: n=1 N a n = a 1 + a a N. n=1

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

1 Uzavřená Gaussova rovina a její topologie

OKRUŽNÍ A ROZVOZNÍ ÚLOHY: OBCHODNÍ CESTUJÍCÍ. FORMULACE PŘI RESPEKTOVÁNÍ ČASOVÝCH OKEN

2.4. INVERZNÍ MATICE

MATEMATICKÁ INDUKCE. 1. Princip matematické indukce

8.2.1 Aritmetická posloupnost

Funkce. RNDr. Yvetta Bartáková. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou

8.2.1 Aritmetická posloupnost I

Kapitola 5 - Matice (nad tělesem)

Přednáška 7, 14. listopadu 2014

1 PSE Definice základních pojmů. (ω je elementární jev: A ω (A ω) nebo (A );

Iterační výpočty projekt č. 2

3. Sekvenční obvody. b) Minimalizujte budící funkce pomocí Karnaughovy mapy

Náhodu bychom mohli definovat jako součet velkého počtu drobných nepoznaných vlivů.

Matematická analýza I

6.2. ČÍSELNÉ ŘADY. V této kapitole se dozvíte:

8.1.3 Rekurentní zadání posloupnosti I

n=0 a n, n=0 a n = ±. n=0 n=0 a n diverguje k ±, a píšeme n=0 n=0 b n = t. Pak je konvergentní i řada n=0 (a n + b n ) = s + t. n=0 k a n a platí n=0

Předmět: SM 01 ROVINNÉ PŘÍHRADOVÉ KONSTRUKCE

7. KOMBINATORIKA, BINOMICKÁ VĚTA. Čas ke studiu: 2 hodiny. Cíl

Nekonečné řady. 1. Nekonečné číselné řady 1.1. Definice. = L L nekonečnou posloupnost reálných čísel. a) Označme { a }

7.2.4 Násobení vektoru číslem

2 STEJNORODOST BETONU KONSTRUKCE

Sekvenční logické obvody(lso)

NMAF063 Matematika pro fyziky III Zkoušková písemná práce 17. ledna 2019

Kapitola 4 Euklidovské prostory

NMAF061, ZS Zápočtová písemná práce VZOR 5. ledna e bx2 x 2 e x2. F (b) =

1 Nekonečné řady s nezápornými členy

Permutace s opakováním

VLASTNOSTI ÚLOH CELOČÍSELNÉHO PROGRAMOVÁNÍ

( )! ( ) ( ) ( ) = ( ) ( ) ( ) ( ) ( )

Permutace s opakováním

UHK Fórum. Univerzita Hradec Králové Fakulta informatiky a managementu Informační management Databázové systémy II

3. Lineární diferenciální rovnice úvod do teorie

České vysoké učení technické v Praze. Fakulta dopravní. Semestrální práce. Statistika

Iterační metody řešení soustav lineárních rovnic

6 Intervalové odhady. spočteme aritmetický průměr, pak tyto průměry se budou chovat jako by pocházely z normálního. nekonečna.

Základy algoritmizace a programování

jsou reálná a m, n jsou čísla přirozená.

Přijímací řízení akademický rok 2013/2014 Bc. studium Kompletní znění testových otázek matematika

Přijímací řízení akademický rok 2012/2013 Kompletní znění testových otázek matematické myšlení

1.2. NORMA A SKALÁRNÍ SOUČIN

základním prvkem teorie křivek v počítačové grafice křivky polynomiální n

Matematika I, část II

1. Zjistěte, jestli následující formule jsou tautologie. V případě záporné odpovědi určete k dané formuli konjunktivní a disjunktivní normální formu.

Vyhledávání v tabulkách

1 Základy Z-transformace. pro aplikace v oblasti

1 ROVNOMĚRNOST BETONU KONSTRUKCE

Znegujte následující výroky a rozhodněte, jestli platí výrok, nebo jeho negace:

6. ČÍSELNÉ POSLOUPNOSTI A ŘADY 6.1. ČÍSELNÉ POSLOUPNOSTI

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY DUBNA 2018

MATICOVÉ HRY MATICOVÝCH HER

Výukový modul III.2 Inovace a zkvalitnění výuky prostřednictvím ICT

Analýza a zpracování signálů. 4. Diskrétní systémy,výpočet impulsní odezvy, konvoluce, korelace

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY BŘEZNA 2018

1 Trochu o kritériích dělitelnosti

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY ÚNORA 2018

Diskrétní matematika

Příloha č. 7 Dodatku ke Smlouvě o službách Systém měření kvality Služeb

MATLAB základy. Roman Stanec PEF MZLU

1. K o m b i n a t o r i k a

(Teorie statistiky a aplikace v programovacím jazyce Visual Basic for Applications)

Kvantová a statistická fyzika 2 (Termodynamika a statistická fyzika)

je číselná posloupnost. Pro všechna n položme s n = ak. Posloupnost

Tento materiál vznikl díky Operačnímu programu Praha Adaptabilita CZ.2.17/3.1.00/33254

M - Posloupnosti VARIACE

Stručný návod k programu Octave

4.2 Elementární statistické zpracování Rozdělení četností

IV-1 Energie soustavy bodových nábojů... 2 IV-2 Energie elektrického pole pro náboj rozmístěný obecně na povrchu a uvnitř objemu tělesa...

p = 6. k k se nazývá inverze v permutaci [ ] MATA P7 Determinanty Motivační příklad: Řešte soustavu rovnic o dvou neznámých: Permutace z n prvků:

2. Náhodná veličina. je konečná nebo spočetná množina;

2. Znát definici kombinačního čísla a základní vlastnosti kombinačních čísel. Ovládat jednoduché operace s kombinačními čísly.

Cvičení 1.1. Dokažte Bernoulliovu nerovnost (1 + x) n 1 + nx, n N, x 2. Platí tato nerovnost obecně pro všechna x R a n N?

Kombinatorika- 3. Základy diskrétní matematiky, BI-ZDM

ŘADY Jiří Bouchala a Petr Vodstrčil

Formát souboru zahraničních plateb CFA pro MCC 3.20 / HC 4.0 / SMO / MCT 3.20

1.8.1 Mnohočleny, sčítání a odčítání mnohočlenů

Pravděpodobnost a aplikovaná statistika

POLYNOM. 1) Základní pojmy. Polynomem stupně n nazveme funkci tvaru. a se nazývají koeficienty polynomu. 0, n N. Čísla. kde

Derivace součinu a podílu

Konec srandy!!! Mocniny s přirozeným mocnitelem I. Předpoklady: základní početní operace

Transkript:

Programováí v Matlabu Obsah: m-fukce a skripty; Krokováí laděí) fukcí/skriptů; Podmíěý příkaz; Cyklus s předem zámým počtem opakováí iteračí cyklus); Cyklus řízeý podmíkou Zoltá Szabó FBMI 2007 http://webzam.fbmi.cvut.cz/szabo/matlab/

m-fukce a skripty m-fukce a skripty jsou obyčejé textové soubory, a proto je lze psát i v libovolém textovém editoru. Z důvodu vyššího komfortu zvýrazěí sytaxe, možost krokováí) součást MATLABu také m-editor/debugger File Ope ebo File New M-file). >> edit

Skripty Skript je posloupost příkazů uložeých do souboru. Může vytvářet ové proměé ebo mazat či měit vybraé. Výsledky skriptu tedy zůstávají v pracovím prostředí i po jeho skočeí. Skripty samozřejmě mohou volat jié skripty ebo fukce, vytvářet grafická oka, vypisovat do Commad Widow,atd. % a simple MATLAB m-file to calculate the % average of 5 umbers. average_script.m % first defie variables for the 5 umbers: a = 5; b = 10; c = 15; d = 20; e = 25; % ow calculate the average of these ad prit it out: five_umber_average = a + b + c + d + e) / 5; five_umber_average

Skripty Jméo skriptu musí splňovat stejá pravidla jako ázev proměé - může obsahovat pouze písmea aglické abecedy, podtržítko a číslice číslicí esmí začíat). Skript můžeme spustit buď a) v Commad Widow - stačí zadat jméo souboru bez přípoy tj. skript priklad.m spustíme příkazem >> priklad), aebo b) v M-editoru/Debuggeru pomocí meu Debug Ru klávesa F5).

m-fukce m-fukce má své vlastí pracoví prostředí, které je odděleo od pracovího prostředí Commad Widow. Všechy proměé ve fukci jsou lokálí existují je po dobu spuštěí fukce). Prví řádek obsahuje defiici fukce, po ěm mohou ásledovat řádky s ápovědou k fukci kometáře) a zbytek souboru tvoří příkazy kód fukce, algoritmus). ázev souboru se musí shodovat s ázvem daé fukce

m-fukce

Příklady soucet.m fuctio [s]=souceta,b) % SOUCET - soucet dvou cisel % s=souceta,b) % a,b... scitace % s... vysledek soucet) % priklad volai: s=soucet10,-2.5) s = a+b; prepoa.m fuctio [prep]=prepoaodvesa1,odvesa2) % PREPONA - vypocet prepoy pravouhleho trojuheliku prep = odvesa1^2 + odvesa2^2)^1/2); % pouziti Pythagorovy vety

Pozámky Nápověda k fukci eí poviou součástí fukce. Nápověda k fukci začíá druhým řádkem, pokud je teto řádek kometářem. Nápověda k fukci kočí jakýmkoli řádkem, který již eí kometářem tj. i třeba prázdým řádkem). Pokud je v M-souboru fukce obsažea ápověda, zobrazíme ji příkazem >> help jméo_fukce. Prví řádek ápovědy by měl obsahovat jméo fukce a vystihovat její čiost, protože je vypisová příkazem >> lookfor slovo slouží pro výpis všech fukcí obsahujících daé slovo). Další řádky ápovědy by měly obsahovat popis vstupů a výstupů fukce a také příklad jejího použití voláí). Kód fukce algoritmus; příkazy) začíá hed za ápovědou a obsahuje posloupost příkazů, pomocí ichž fukce vypočítá své výstupy. Všechy výstupy fukce musí být jejím kódem vytvořey, jiak je po spuštěí fukce ohlášea chyba. Všechy přiřazovací příkazy uvitř fukce by měly být ukočey středíkem aby fukce eobtěžovala okolí výpisem pomocých proměých).

Spuštěí fukce Pokud jsme vytvořili vlastí fukci, můžeme ji spustit z Commad Widow aebo z jiých fukcí či skriptů). Příkaz pro spuštěí fukce vypadá obecě takto: >> [vystupy]=jmeofcevstupy), pokud chceme uložit výsledky do ějakých proměých ebo takto: >> jmeofcevstupy), pokud echceme výsledky ukládat do proměých

Pozámky počet vstupích argumetů se musí shodovat s její defiicí pořadí vstupích argumetů při voláí je zavazující výstupy z fukce ejsme povii odebírat pokud eapíšeme za voláím fukce středík, prví z výstupů se vypíše pomocí as) Příklady: >> s=soucet7,14); - s odebráím výstupu a bez jeho výpisu >> vysledek=soucet7,14) - s odebráím výstupu i jeho vypsáím >> x=7; y=14; soucetx,y) - bez odebráí výstupu, ale vypsáím výsledku pomocí as) >> soucet3.1,8.14); - bez odebráí výstupu, bez vypsáí výsledku v podstatě zbytečá akce)

Krokováí laděí) fukcí/skriptů Zobrazeí kódu fukce Kód fukce tj. obsah M-souboru) vidíme v M-editoru/Debuggeru, ale můžeme jej zobrazit také v Commad Widow příkazem >> type jmeofce, kde jmeofce je ázev fukce ázev M-souboru bez přípoy). Krokováí: 1. v M-editoru astavíme breakpoit F12) a ějakém řádku s příkazem 2. spustíme fukci s jejími parametry z Commad widow) - v Commad Widow se objeví K>> a v M-editoru svítí zeleá šipka před řádkem, který bude ásledě zpracová 3. pomocí F10 a F11 v M-editoru krokujeme spouštíme jedotlivé příkazy) - výsledky kotrolujeme pomocí myši pohyb ad ázvem proměé, jejíž obsah ás zajímá) ebo pomocí oka Workspace kde by měl být astave Stack pro krokovaou fukci) 4. výsledkem celého sažeí je alezeí chyby, její oprava a uložeí opraveé fukce

Krokováí laděí) fukcí/skriptů

Podmíěý příkaz větveí) if podmíka příkazy ed Pozámky: V případě, že součástí podmíky je matice typu m, je podmíka pravdivá je tehdy, pokud je pravdivá pro všechy prvky této matice. V případě, že v ějaké podmíce použijeme biárí logický operátor & ebo ) a po vyhodoceí prvího argumetu je už zřejmý výsledek, tak se druhý argumet evyhodocuje zkráceé vyhodocováí). Jedotlivé příkazy if se mohou vořovat, tj. uvitř ifu může být další příkaz if.

Podmíěý příkaz 2) if podmíka1 příkazy1 else příkazy2 ed Čiost příkazu if-else: ejprve se testuje podmíka - je-li pravdivá, provedou se příkazy1, je-li epravdivá, provedou se příkazy2. Vždycky se tedy provede jeda skupia příkazů.

Podmíěý příkaz 3) if podmíka1 příkazy1 elseif podmíka2 příkazy2 else příkazy3 ed Pozámky: větev if musí být právě jeda větev elseif emusí být vůbec, případě jich může být více větev else může být aejvýš jeda

Cykly cyklus s předem zámým počtem opakováí iteračí cyklus; realizovaý pomocí for) cyklus řízeý podmíkou realizovaý pomocí while)

Cyklus s předem zámým počtem opakováí iteračí cyklus) for proměá=výraz příkazy ed Pozámky: Koec cyklu může astat předčasě, pokud je v těle cyklu obsaže příkaz break ebo retur Cyklus for používáme vždy, když záme počet opakováí určité čiosti. Iteračí cyklus se často využívá pro tvorbu matic jejichž prvky jsou geerováy podle ějakého vzorce) a také je používá při zpracováváí matice prvek po prvku.

Cyklus řízeý podmíkou while podmíka příkazy ed Pozámky: Čiost cyklu lze vyjádřit větou: dokud platí podmíka, prováděj příkazy. Koec cyklu může astat i při prvím testu podmíky je-li ulová), takže se může stát, že příkazy v těle cyklu se eprovedou ai jedou. Řídicí podmíka cyklu by měla být ovlivňováa prováděím příkazů v těle cyklu tak, aby jedou přestala platit. Jiak totiž cyklus ikdy eskočí tzv. ekoečý cyklus) - pozáme to tím, že v Commad Widow se eobjeví >> a zpravidla se také eustále ěco vypisuje. Pokud chceme ukočit prováděí ekoečého cyklu, stiskeme CTRL+C.

Příklady Příklad cyklu ze života: Příklad větveí uvitř cyklu: zalez_do_postele; while uave zdrimi_si; ed vylez_z_postele; Příklad cyklu s počítadlem esežraých sušeek: jdi_a_avstevu; pocet_suseek=29; while pocet_suseek>0 sez_suseku; pocet_suseek=pocet_suseek-1; ed jdi_domu; jdi_do_prace; while cas<16.00 if ekdo_jde_kolem predstirej_praci; else zdrimi_si; ed ed jdi_domu;

Příklady k řešeí 1. Sestavte fukci pro výpočet součtu prvích přirozeých čísel. 2. Vytvořte fukci a výpočet faktoriálu zadaého čísla a pricipu:!=*-1)*-2)*...*1, resp.!=1*2*...*) 3. Diskrétí kovoluci lze vyjádřit dvěma rovoceými vztahy viz íže). Vytvořte fukci, pro výpočet kovoluce dvou vektorů h a x. = = + + + = = + + + = = i i h x h x h x i h i x y x h x h x h i x i h y 0 0 0) ) 1) 1) ) 0) ) ) ) 0) ) 1) 1) ) 0) ) ) ) L L