Zadanie:
Úloha 1:(1.5 bodu)
Vygenerujte si ľubovolnú maticu rozmeru 3x3 a vyskúšajte si na nej ako fungujú funkcie: triu, tril, diag, flipud, fliplr, rot90, size, repmat, blkdiag. V pripade potreby použite na vysvetlenie syntaxe help.
Zadefinujte si maticu A=magic(5);
http://elearn.elf.stuba.sk/moodle/file. ... 2010/A.jpg
Pomocou tejto matice vytvorte nasledovné matice B1 až B6.
http://elearn.elf.stuba.sk/moodle/file. ... 010/B1.jpg
http://elearn.elf.stuba.sk/moodle/file. ... 010/B2.jpg
http://elearn.elf.stuba.sk/moodle/file. ... 010/B3.jpg
http://elearn.elf.stuba.sk/moodle/file. ... 010/B4.jpg
http://elearn.elf.stuba.sk/moodle/file. ... 010/B6.jpg
Na ich generovanie môžete použiť submatice matice A, rôzne spájanie matíc, ľubovolnú z funkcií na manipuláciu s maticami. Nesmiete však dopisovať ručne žiaden prvok novovytvorenej matice.
Úlohu spracujte pomocou funkcie menu, ktorej syntax je uvedená v helpe. Po stlačení prvej položky menu nech sa vám zobrazí matica B1, po stlačení druhej položky matica B2, atď. Stlačením tlačidla sa menu nesmie prestať zobrazovať. Zobrazovanie menu ukončí až posledné tlačidlo s označením Koniec. (K napísaniu tejto funkcie budete potrebovať aj príkazy if a while. Pozrite sa na ich syntax v helpe)
Úloha 2:(1.5 bodu)
Vytvorte si matlabovskú funkciu na výpočet objemu gule. Vyneste grafickú závislosť objemu gule od jej polomeru, pričom využijete vami vytvorenú funkciu. Samotný výpočet hodnôt jednotlivých bodov grafickej závislosti realizujte dvomi spôsobmi:
pomocou cyklu, keď funkciu na výpočet objemu gule budete používať len so skalárnou hodnotou vstupnej premennej. Pri vypracovaní úlohy vám môžu pomôcť riešenia troch tu uvedených príkladov:
Kód: Vybrať všetko
http://obelix.urpi.fei.stuba.sk/~tar/pedagogika/ui/ulohy.htmlÚloha 3:(1.5 bodu)
Vytvorte funkciu d=opakuj2(v,n), ktorej vstupom bude vektor v a rovnako dlhý vektor n. Funkcia vygeneruje vektor, v ktorom je počet opakovaní jednotlivých prvkov vektora v určený príslušnou hodnotou vektora n. Napríklad, keď v=[2,5,8] a n=[2,1,3], tak d=[2,2,5,8,8,8].
Úloha 4:(1.5 bodu)
Vytvorte funkciu x=denroka(d, m, y), ktorej vstupom budú čísla označujúce ľubovolný deň v roku (deň, mesiac, rok). Funkcia má ako výstup vypočítať poradie tohto dňa v danom roku. T.j. napríklad po zadaní dňa 1. február 2004, t.j. denroka(1,2, 2004) funkcia vráti hodnotu 32, keďže január má 31 dní. Treba uvažovať aj prestupné roky.
Na základe takto vytvorenej funkcie vytvorte skript, v ktorom vypočítate, koľko dní uplynulo od dátumu vašeho narodenia. Aktuálny dátum zistíte pomocou funkcie date, ktorá výstup vracia vo forme reťazca. Tento reťazec je možné konvertovať na číselné hodnoty dňa, mesiaca a roka pomocou funkcie datestr, kde ako druhý parameter uvediete 'dd', 'mm', 'yyyy'.
Úloha 5:(2 body)
Do jedného obrázku vykreslite rôzne trajektórie pohybu lopty, ktorá bude do vzduchu vyhodená pod rôznymi uhlami. Trajektórie vyneste pre uhly 5, 15, 25, 35, 45, 55, 65, 75 a 85 stupňov. Vychádzajte pri tom z toho, že za predpokladu zanedbania trenia vzduchu a zemského zakrivenia a za predpokladu, že lopta je vyhadzovaná z nulovej pozície platia pre x-ovú a y-zložku pohybu lopty, ktoré sa menia v čase t nasledovné vzťahy:
http://elearn.elf.stuba.sk/moodle/file. ... vztahy.jpg
Premenná v0 označuje počiatočnú rýchlosť lopty, kde uvažujte hodnotu 20 m/s.
Pre každý celý uhol z intervalu 1 až 90 stupňov vypočítajte čas, pri ktorom lopta dopadne po vyhodení znova na zem. Na základe takto vypočítaných hodnôt zistite, pod akým uhlom je potrebné vyhodiť loptu, aby dopadla čo najďalej. Trajektóriu, ktorá zodpovedá tomuto uhlu vykreslite v obrázku inou farbou a väčšou hrúbkou čiary. Farbu a hrúbku čiary zmeňte pomocou funkcie set.
Odporúčania:
skontrolujte si, či sa vstupy funkcií sin a cos zadávajú v stupňoch alebo v radiánoch.
čas, pri ktorom lopta dopadne znova na zem (y-ová zložka je vtedy rovná 0) je výhodné vypočítať si analyticky z rovnice pre y(t).
vzdialenosť, do ktorej dopadne lopta sa dá vypočítať na základe vzťahu pre x(t).