Práce pro profesionály Cvičíme se v MATLABu (c) Leonard Walletzký, ESF MU, 2003 Příklady o Napište program, který: n vypočítá průměr z prvků vektoru n najde maximální číslo ve vektoru n najde druhé maximální číslo ve vektoru o Modifikujte program tak, aby nedovolil zadat prázdný vektor nebo jedno číslo Funkce o klíčové slovo function o syntaxe n function = () n tento řádek se musí uvést jako první o m-soubor musí mít stejný název, jako je název funkce n function y=maximum(v) n uložena v souboru maximum.m Použití funkcí o nahrazují input o nahrazuje disp o funkce používám tehdy, chci-li s výsledky ještě dále pracovat o volání funkce z příkazového řádku n () Funkce - příklad o Napište funkci, která sečte prvky vektoru, který je jí zadán jako vstupní parametr o vstup -- vektor -- zvolím proměnnou v o výstup -- číslo -- zvolíme proměnnou s o funkci nazveme soucet o function s=soucet(v) Kompletní program function s=soucet(v) vel=length(v); s=0; for i=1:vel s=s+v(i); end Spuštění funkce soucet o Přímo vložením vektoru n soucet([2 6 7]) o Použitím proměnné, ve které je vektor n u=[2 7 9 5 0] n soucet(u) o výsledek se objeví v proměnné ans o výsledek funkce lze uložit do proměnné n s1=soucet(u) Příklady o Napište funkci, která zjistí průměr z prvků vektoru, který je jí zadán jako parametr o Napište funkci, do které vložíme matici a ona vrátí vektor, složený z průměrů jejích: n řádků n sloupců Řešení -- průměr řádků o předpokládáme existenci funkce prumer, která vrátí průměr prvků vektoru, který je jí zadán. function u=prumradku(A) [r s]=size(A); for i=1:r u(i)=prumer(A(i,:)); end Příklady o Napište funkci, která zjistí, zda vektor obsahuje zadané číslo (obsahuje=1, neobsahuje 0) o Napište funkci, která vygeneruje výherní čísla Sportky a vrátí je jako vektor o Napište program, který vám umožní vsadit Sportku a řekne vám, jestli jste vyhráli Příklady o Napište program, ve kterém budete hádat číslo, které si "myslí" počítač. o Napište funkci, která vygeneruje zadaný počet tipů Sazky a vrátí je jako vektor o Napište program, který vám umožní vsadit si Sazku a řekne vám, kolikrát jste se trefili. Příklady o Modifikujte předcházející hry pro více hráčů - jejich počet není předem znám o Napište program na hru "kámen-nůžky-papír" při zachování jejích pravidel. Příklady o Napište hru pro dva hráče s následujícími pravidly: n počítač vygeneruje matici, obsahující náhodně prvky 1,2 n hráči se střídají v tazích a snaží se uhodnout, které číslo je na daném místě. n pokud uhodnou, získávají bod n počítač zobrazuje pouze odkrytá pole Příklady o Modifikujte předchozí příklad tak, aby hráči zadávali i: n rozměr matice (čtvercová) n počet možných prvků Příklady o Napište program, který vygeneruje náhodně 10 lineárních rovnic ax+b=c, nakreslí jejich graf a napíše jejich řešení. o Napište program, kterému zadáte parametry paraboly a přímky. Program zobrazí jejich graf a určí, zda mají průsečík. Pokud ano, vypočte jeho souřadnice