03_ControlFlow.dvi

Podobné dokumenty
Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Algoritmizácia a programovanie - Príkazy

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Informačné technológie

NÁVRH UČEBNÝCH OSNOV PRE 1

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

História

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Manuál pre nastavenie tlače z VRP elio m500 Elio m500 Manuál pre nastavenie tlače -1-

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

enum

0022-vub-mobilne-tokeny-200x200-v03.indd

ECDL Syllabus V50 SK-V01

Pokrocilé programovanie XI - Diagonalizácia matíc

Snímka 1

Microsoft PowerPoint - OOP_prednaska_10.pptx

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.:

Katalóg cieľových požiadaviek k maturitnej skúške

Microsoft Word - mnohouholnik.doc

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Microsoft Word - ESD - DA - MA - Instruktorska_verzia_V_1_1.docx

Microsoft Word - Priloha_1.docx

2

Microsoft Word - skripta3b.doc

INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

Teória pravdepodobnosti Zákony velkých císel

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

Manuál pre nastavenie tlače z VRP Bluetooth, USB tlačiarne Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1-

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Microsoft Word - prirucka_katedry_nova

Objektovo orientované programovanie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU

Pokrocilé spracovanie obrazu - Fourierová transformácia

Relačné a logické bázy dát

Detail správy a súvisiace prvky Dátum zverejnenia: Verzia: 5 Dátum aktualizácie: Detail správy a súvisiace prvky UPOZORNENIE

Operačná analýza 2

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

8

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

Vývoj geografických aplikácií v GIS

Prihlásenie sa do systému AIS2 Pomôcka pre študentov Odoslanie záverečnej práce cez AiS2 Spustite si internetový prehliadač a do riadku s adresou napí

Úlohy: Inteligentné modelovanie a riadenie model MR mobilný robot s diferenciálnym kolesovým podvozkom 1. Vytvorte simulačnú schému pre snímanie tréno

eKasa

Xesar Softvér Stručný návod

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

PowerPoint-Präsentation

Používateľská príručka pre webovú aplikáciu ON!Track Príručka pre webovú aplikáciu, verzia 1.1

Finančné riaditeľstvo Slovenskej republiky 15/ORP/2019/IM Práca s dostupnými reportami - rola Administrátor/Účtovník Informácia je určená pre podnikat

INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

PowerPoint Presentation

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin

PowerPoint Presentation

2

eKasa

Viacnásobne použitelné oblasti spolahlivosti pre viacrozmernú kalibráciu

Používateľská príručka elektronických služieb pre žiadateľov o štatistické informácie október 2016

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

eKasa

Ponuka Štart

Microsoft Word - ESD_-_DA_-_MA_-_Ucastnicka_verzia_video_V_3.docx

Prístup a Nastavenie pre KOMPAKT HOSTING

Žiadosť o licenčnú zmluvu na podujatie Na adrese v sekcii hlavného menu kliknete na položku Používatelia. Zobrazí sa blokové menu,

User:tomas.melicher

Pripojenie sa na počítač a ovládanie vzdialenej obrazovky cez CM Remote

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

Microsoft PowerPoint - Prog_p08.ppt

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise

Microsoft PowerPoint - CONNECT_R&A_76_sk

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

SRPkapitola06_v1.docx

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

Microsoft Word - Final_test_2008.doc

dFlex Nitra spol. s r.o.

Príloha č. 1 k USM_UGKK SR_6/2019

Photo Album

Priebeh funkcie

Spustenie založenej VM mimo vmware ESX

Microsoft Word - Argumentation_presentation.doc

Generovanie viacstavových modelov a ich riešenie v Maxime 1 Jozef Fecenko Abstrakt Cieľom príspevku je prezentovať zdrojový kód v open source systéme

Import absencí z ASC

Návod na vytvorenie kvalifikovaného elektronického podpisu prostredníctvom občianskeho preukazu s čipom Dátum zverejnenia: Verzia: 1 Dátu

Snímka 1

Rozvojom spoločnosti najmä v druhej polovici minulého storočia dochádza čím ďalej tým viac k zásahu človeka do životného prostredia

Finančné riaditeľstvo Slovenskej republiky 9/ORP/2019/IM Stiahnutie identifikačných a autentifikačných údajov pri ORP - rola Administrátor/Technik Inf

FAQ

eKasa

PowerPoint Presentation

RADELA s

Microsoft Word - o09_Používateľská príručka ku kontrole kupónov na webe_v4.doc

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

Prepis:

1 Riadenie toku programu Príkazy v Matlabe na kontrolu toku programu fungujú veľmi podobne ako v iných programovacích jazykoch. Zoznam: IF (IF-END, IF-ELSE-END, IF-ELSEIF-ELSE-END), SWITCH-CASE, FOR cykly, WHILE cykly 1.1 FOR cykly for i= pole Príklad 1. Chceme vypísať hodnoty funkcie sínus v bodoch πn/10 pre n = 0, 1,..., 10. Vygenerujte tieto hodnoty použitím príkazu for. Riešenie. for n=0:10 x(n+1)=sin(pi*n/10) 1.2 WHILE cykly while výraz WHILE cykly používame najmä keď nie je vopred známy počet opakovaní cyklu. Príkazy v tele cyklu sa vykonávajú, pokiaľ je daný výraz pravdivý. Príklad 2. Predpokladajme, že číslo π vydelíme dvomi. Výsledné číslo opäť vydelíme dvomi. Tento proces opakujeme až pokiaľ nedostaneme číslo, ktoré je menšie alebo rovné 0.01. Koľko iterácií potrebujeme? Riešenie. k=1; cislo=pi; while cislo>0.01 cislo=cislo/2; 1

k=k+1; 1.3 Príkaz if-else- Matlab umožňuje robiť na základe podmienok vetvenie programu. if výraz else Ak je potrebné rozlíšiť viacero alternatív, mala by sa použiť nasledujúca konštrukcia: if výraz1 (vykonajú sa, ak je výraz1 pravdivý) elseif výraz2 (vykonajú sa, ak je výraz2 pravdivý). else (vykonajú sa, ak sú všetky predchádzajúce výrazy nepravdivé) 1.4 Príkaz switch-case Ak je potrebné rozlíšiť veľa alternatívnych možností pre hodnotu danej premennej, je vhodné namiesto príkazu if použiť príkaz switch. switch výraz (skalár alebo string) case hodnota1 (vykonajú sa, ak sa výraz vyhodnotí na hodnotu1) case hodnota2 (vykonajú sa, ak sa výraz vyhodnotí na hodnotu2) 2

. otherwise Na rozdiel od C nie je potrebné použiť break. Keď sa Matlab dostane na príslušný case, ďalšie sa už nevykonávajú, switch sa ukončí. Ak je potrebné rozlíšiť viac ako jednu hodnotu v danej alternatíve, použijeme zložené zátvorky {}. Príklad 3. Priraďte premennej a ľubovoľnú hodnotu a otestujte funkčnosť nasledujúcej konštrukcie: switch a case 0 disp( a=0 ) case {1,2,3,4} disp( a je menej ako 5 ) case 10 disp( a=10 ) otherwise disp( a je mimo rozsah ) Príklad 4. Náhodne vygenerujte celé číslo z množiny {1, 2,..., 10}. Ak je vygenerované číslo 1 alebo 2, vypíšte na obrazovku správu: Pravdepodobnosť je 20%, v prípade vygenerovanie 3 alebo 4 vypíšte: Pravdepodobnosťč je 30%. V ostatných prípadoch vypíšte: Pravdepodobnosť je 50%. 1.5 Príkaz break Break je užitočný príkaz, ktorý nám umožňuje predčasne ukončiť vykonávanie tela cyklu. Väčšiou sa používa v rámci príkazu if. Príklad 5. V tomto prípade sa ukončí vykonávanie príkazu while, ak hodnota a bude menšia ako 5. a=10; while a>2 3

a=a/2); if(a<5) break; 2 m-súbory Slúžia na písanie príkazov rovnako ako v Command line, akurát že sa celá postupnosť príkazov dá uložiť pod jedným menom ako samostatný súbor. Názov Matlabovského súboru nesmie obsahovať medzeru, bodku, ani pomlčku. Prípona Matlabovského súboru je.m. Súbory, s ktorými chceme pracovať a vyvolávať ich, musia byť uložené vo vašom Current Directory. Existujú dva typy m-súborov: súbor so skriptom a súbor s funkciou. Súbory so skriptom nemajú žiadne vstupné ani výstupné argumenty. Súbory s funkcíou môžu mať vstupné alebo výstupné argumenty. Na vytvorenie m-súboru kliknite na File New m-file. Otvorí sa okno Matlab editora. Tu môžete písať svoj kód. Súbor uložíte pomocou File Save as. Overte si, či sa súbor uloží do adresára, ktorý máte nastavený ako Current Directory. 2.1 Súbor so skriptom Súbor so skriptom zjednodušuje prácu, ak chceme vyvolať istú postupnosť príkazov. Postupnosť príkazov uložená ako m-súbor sa vyvolá jednoduchým napísaním mena súboru do Command Window. Príklad 6. Otvorte si súbor skript.m. Popis súboru: 1. %- komentár. Všetky komentáre sa v Matlabe ignorujú. Pridávaú sa do súboru kvôli zvýšeniu prehľadnosti kódu. 2. V ďalších dvoch riadkoch sa vytvoria premenné x a y. Poznamenajme, že bodkočiarka na konci riadku spôsobí, že výstup sa nevypíše na obrazovku. 3. Vektor x obsahuje 1000 prvkov prislúchajúcich rovnomernému deleniu intervalu [ π 100, 10π]. 4

4. Vektor y obsahuje hodnoty fukncie sin(x)/x v týchto bodoch. Všimnite si operátor./. Tento operátor označuje delenie dvoch polí sin(x) a x prvok prvkom. 5. Príkaz plot nakreslí graf. Viac detailov neskôr. Tenot súbor môžete spustiť napísaním jeho mena do Command Window. 2.2 Súbor s funkciou Funkcie v Matlabe sa ukladajú do m-súborov. Každý m-súbor obsahuje jednu funkciu. Prvý riadok súboru s funkciou musí byť nasledujúcej štruktúry: function[zoznam vystupnych parametrov]=meno funkcie(zoznam vstupnych parametrov) Výstupné premenné nie sú povinné. Ak funkcia nevracia žiadne výstupné parametre, hranaté zátvorky aj znak = sa vynechávajú. Meno funkcie musí byť rovnaké ako meno súboru (až na príponu.m). Použije sa na zavolanie funkcie zadaním v Command Window. Vstupné parametre taktiež nie sú povinné. Príklad 7. Vstupnými a výstupnými parametrami môžu byť skaláre, vektory, matice a reťazce. Matlab v podstate nerozlišuje medzi typmi premenných, pokiaľ sa na nich nevykonáva nejaká operácia. Je prípustné, aby vstupným parametrom bol skalár a pri druhom volaní vektor. Na ozrejmenie uvažujme nasledujúci príklad. Príkazom y=sin(x) vyvoláme zabudovanú funkciu sínus. Ak x je skalár, potom aj y bude skalár. Ak x je vektor, potom aj y bude vektor. Ak x je matica, potom aj y bude matica. Overte tieto tvrdenia jednoduchým experimentom! Príklad 8. Otvorte si súbor addtwo.m. Znakom % začína komentár. Tento riadok nielenže zvyšuje čitateľnosť m- súboru, ale komentár nachádzajúci sa práve na tomto mieste v m-súbore sa automaticky stáva súžasšou help-u v Matlabe. Po zavolaní príkazu help meno_funckie sa zobrazí práve komentár z tejto pozície. Rovnako sa tento komentár objaví v okne Current Directory pri danom súbore v stĺpci Description. Overte si to! 5

Príklad 9. Otvorte súbor usporiadaj.m. Popis súboru: Táto funkcia má jeden vstupný argument, pole reálnych čísel, vracia usporiadané pole. Poznamenajme, že funkcia sort utriedi prvky poľa v rastúcom poradí. Na vyskúšanie funkčnosti tejto funkcie vytvorte najprv pole a=[pi -10 35 0.15]. Potom zavolajte funkciu b=usporiadaj(a). Funkciu môžete zavolať tiež bez priradenia výstupného arhumentu usporiadaj(a). V tomto prípade sa výstup priradí do defaultnej premennej ans. 2.3 Lokálne a globálne premenné Zadávanie príkazu do Command Line je zhodné s písaním skriptu. Súbor so skriptom nemá začiatok ani koniec, teda všetky skripty na seba nadväzujú. To tiež znamená, že súbory so skriptom si navzájom všetky premenné aj zieľajú, aj keď nie sú globálne, t.j. všetky skripty zdieľajú ten istý workspace, tzv. Matlab base workspace. Premenné v súbore s funkciou sú štandardne lokálne. Každá funkcia operuje vo svojom súkromnom workspace. Funkcie majú prístup len k tým premenným zo súborov zo skriptom, ktoré sú definované ako globálne. Inou možnosťou, ako môžeme nechať funkciu pristúpiť k premennej zo súboru so skriptom, je odovzdať túto premennú ako vstupný argument funkcie. 2.3.1 Globálne premenné Ak chcete, aby viacero fukncií zdieľalo tú istú premennú, musíte danú premennú deklarovať ako globálnu vo všetkých funkciách. Všetky funkcie používajú ten istý global workspace. Podobne, ak chcete, aby sa k tejto premennej dalo pristupovať vo Workspace okne, musíte ju delarovať ako globálnu aj v Command Line alebo v niektorom súbore so skriptom. Deklaráciu global musíte urobiť predtým, ako premennú vo funkcii použijete. Na vyčistenie obsahu globálnych premenných použite príkaz clear global. Zoznam všetkých globálnych premenných nám vráti príkaz whos global. Upozornenie. Nepoužívajte deklaráciu global, kým to nie je nevyhnutné. Vyhnete sa tak viacerým chybám a zmätkom. Odporúčanie. Ak chcete premennej priradiť nejakú hodnotu a potom ju používať ako globálnu, urobte najprv deklaráciu global spolu s priradením hodnoty v Command Line alebo si vytvorte špeciálny súbor so skriptom, kde si zadefinujete hodnoty všetkých globálnych premenných. Až potom pristúpte k používaniu týchto premenných vo funkciách. 6

2.4 Zobrazovanie premenných vo Workspace okne Premenné zadané do Command Line ako aj premenné zadané v súboroch so skriptom sa automaticky zobrazujú vo Workspace okne. Všetky premenné v súbore s funkciou sa nezobrazujú vo Workspace okne. Príklad 10. Otvorte si súbor globalne.m a súbor globalne2.m. V súbore globalne.m sa nachádza lokálna premenná y. Keď spustíme tento súbor, premenná y sa neobjaví vo Workspace okne. Navyše táto premenná je iba lokálnou pre danú funkciu, t.j. jej hodnota je neznáma v Command Line. Rovnako, ak spustíme súbor globalne2.m, kde sa opäť vyskytuje premenná y (ale nie je jej v rámci funkcie globalne2.m priradená žiadna hodnota), Matlab vyhlási chybu. Premenná y v globalne2.m nemá žiadne spojenie s premennou y v globalne.m. Pridajme teraz deklaráciu global y do súboru globalne.m. Ak teraz spustíme súbor globalne2.m, premenná y v tomto súbore je ešte stále lokálna. Ak pridáme delaráciu global y aj do súboru globalne2.mm tak tieto funkcie budú zdieľať tú istú premennú y (všetky funkcie zdieľajú ten istý workspace). Všimnime si, že premenná y je ešte stále nedefinovanou premennou v Command Line. Ak ju chceme zieľať aj tu, musíme urobiť deklaráciu global aj v Command Line. 2.5 Niekoľko tipov 1. Píšte komentáre. Ak ich nebudete písať, už o niekoľko týždňov si nebudete pamätať, čo ktorá premenná znamená a ako ste to naprogramovali. 2. nechávajte si vypisovať chybové hlášky. Pomôže vám to pri ladení programu. 3. Pokiaľ je to možné, skúste sa vyhnúť progranovaniu cyklov. Zabudované funkcie sa vykonávajú rýchlejšie. 7