| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze |
| zapg [2026/01/12 12:34] – Gejza Dohnal | zapg [2026/01/12 12:51] (aktuální) – Gejza Dohnal |
|---|
| </p> | </p> |
| <p>Test se bude psát tužkou (propiskou) na papír, bez použití počítače (nebo kalkulačky, mobilu, ... apod.). <br> | <p>Test se bude psát tužkou (propiskou) na papír, bez použití počítače (nebo kalkulačky, mobilu, ... apod.). <br> |
| Můžete si ale vytisknout jako nápovědu tyto <a href="https://mat.nipax.cz/_media/zapg_matlab_commands.pdf">příkazy</a> a <a href="ZAPG/oper.pdf">operátory a funkce</a>. | Můžete si ale vytisknout jako nápovědu tyto <a href="https://mat.nipax.cz/_media/zapg_matlab_commands.pdf">příkazy</a> a <a href="https://mat.nipax.cz/_media/zapg_oper.pdf">operátory a funkce</a>. |
| </p> | </p> |
| <p><a href="ZAPG/priklady.html"> | <p><a href="priklady"> |
| Úlohy k procvičování</a> - pokud to lze, napište skripty pro úlohy na cykly (4. odstavec) jak s využitím matlabovských vektorových funkcí (např. max, min, mean, sum, ...), tak bez nich, tj. s explicitním použitím cyklu <code>for</code> nebo <code>while</code> - <a href="ZAPG/ex3_vectoriz.txt">příklad</a>. | Úlohy k procvičování</a> - pokud to lze, napište skripty pro úlohy na cykly (4. odstavec) jak s využitím matlabovských vektorových funkcí (např. max, min, mean, sum, ...), tak bez nich, tj. s explicitním použitím cyklu <code>for</code> nebo <code>while</code> - <a href="https://mat.nipax.cz/_media/zapg_ex3_vectoriz.pdf">příklad</a>. |
| </p> | </p> |
| <p><b>2. zápočtový test: 24. 11. 2022</b> | <p><b>2. zápočtový test: 24. 11. 2022</b> |
| (nebo oprava 1. zápočtového testu) | (nebo oprava 1. zápočtového testu) |
| </p> | </p> |
| <p>V druhém testu lze použít počítač. Cílem je na zadané úloze předvést, že umíte v Matlabu napsat svou vlastní funkci a použít ji ve skriptu. <a href="ZAPG/prikl_T2.html"> | <p>V druhém testu lze použít počítač. Cílem je na zadané úloze předvést, že umíte v Matlabu napsat svou vlastní funkci a použít ji ve skriptu. <a href="https://mat.nipax.cz/_media/zapg_priklady_ii.pdf"> |
| Úlohy k procvičování</a>. | Úlohy k procvičování</a>. |
| </p> | </p> |
| 5. cvičení <br> | 5. cvičení <br> |
| <p> | <p> |
| DÚ tentokrát v moodle není - sami si procvičujte tyto <a href="ZAPG/priklady.html">příklady</a> (zejména odstavec <b>cykly</b>) jako přípravu na test na následujícím cvičení. | DÚ tentokrát v moodle není - sami si procvičujte tyto <a href="priklady">příklady</a> (zejména odstavec <b>cykly</b>) jako přípravu na test na následujícím cvičení. |
| </p> | </p> |
| </li> | </li> |
| 8. cvičení <br> | 8. cvičení <br> |
| <p> | <p> |
| DÚ tentokrát v moodle není - sami si procvičujte <a href="ZAPG/prikl_T2.html">příklady na používání funkcí</a> jako přípravu na test na následujícím cvičení, tj. 24. listopadu, případně tyto <a href="ZAPG/priklady.html">příklady</a>, pokud budete opakovat 1. test. | DÚ tentokrát v moodle není - sami si procvičujte <a href="https://mat.nipax.cz/_media/zapg_priklady_ii.pdf">příklady na používání funkcí</a> jako přípravu na test na následujícím cvičení, tj. 24. listopadu, případně tyto <a href="priklady">příklady</a>, pokud budete opakovat 1. test. |
| </p> | </p> |
| </li> | </li> |
| <!--li> | |
| 8. cvičení <br> | |
| <p> | |
| Napište fumkci pro hledání kořene polynomu Newtonovou metodou: | |
| </p> | |
| <ul> | |
| <li> Nejdřív napište funkci pdp, která počítá hodnotu a derivaci polynomu 5. stupně: <br> | |
| vstup: <br> | |
| a, b, c, d, e, g ... koeficienty polynomu p(x)= | |
| a x<sup>5</sup> + b x<sup>4</sup> + c x<sup>3</sup> + d x<sup>2</sup> + e x + g<br> | |
| x ... reálné číslo <br> | |
| výstup: <br> | |
| px, dpx ... hodnoty p(x) a p'(x) <br><br> | |
| </li> | |
| <li> Pak funkci pdp použijte ve funkci Newt, která bude počítat kořen polynomu Newtonovou metodou, tj. iteracemi x<sub>k+1</sub> = x<sub>k</sub> - p(x<sub>k</sub>)/p'(x<sub>k</sub>): | |
| <br> | |
| vstup: <br> | |
| a, b, c, d, e, g ... koeficienty polynomu p(x)= | |
| a x<sup>5</sup> + b x<sup>4</sup> + c x<sup>3</sup> + d x<sup>2</sup> + e x + g<br> | |
| x0 ... reálné číslo - výchozí hodnota<br> | |
| tol ... povolená tolerance (pro kořen x musí být |p(x)| < tol)<br> | |
| maxit ... max. povolený počet iterací<br> | |
| výstup: <br> | |
| x ... kořen polynomu p(x) (pro ierr=0; jinak poslední iterace)<br> | |
| poc ... počet iterací<br> | |
| ierr ... identifikátor chyby: <br> | |
| 0 ... OK<br> | |
| 1 ... překročen max. počet iterací <br> | |
| 2 ... |p'(x)| < tol (resp. objevila se hodnota Inf nebo -Inf) | |
| <br><br> | |
| </li> | |
| <li> Funkci Newt otestujte na polynomu x<sup>5</sup> - 5 x<sup>3</sup>-4: | |
| nakreslete si graf polynomu na intervalu < -3, 3 >, vyberte některý z kořenů a v dialogovém okně zavolejte funkci Newt s vhodnými parametry. Zkontrolujte správnost výsledku pomocí Matlabovské funkce solve. <br><br> | |
| </li> | |
| </ul> | |
| Otestované funkce pdp a Newt a hodnotu spočteného kořenu okopírujte do moodle.<br><br> | |
| </li> | |
| <li> | |
| 9. cvičení <br> | |
| <p> | |
| Napište fumkci pro řešení Cauchyho úlohy pro danou dif. rovnici 1. řádu<br> | |
| y' = f(x,y), y(x<sub>0</sub>) = y<sub>0</sub> Eulerovou metodou: | |
| </p> | |
| <ul> | |
| <li> Nejdřív napište funkci f, která počítá hodnotu funkce dvou proměnných (pravé strany rovnice): <br> | |
| vstup: <br> | |
| x, y ... hodnoty proměnných<br> | |
| výstup: <br> | |
| fxy ... hodnota f v bodě (x,y) <br><br> | |
| </li> | |
| <li> Pak funkci f použijte ve funkci Eul, která bude počítat přibližné hodnoty řešení y(x<sub>k</sub>) v daných bodech x<sub>k</sub>. Eulerova metoda (viz také záložka NM nahoře, 6. cvičení):<br> | |
| x<sub>k+1</sub> = x<sub>k</sub> + h<br> | |
| y<sub>k+1</sub> = y<sub>k</sub> + h f(x<sub>k</sub>, y<sub>k</sub>) | |
| <br> | |
| vstup: <br> | |
| x0, y0 ... daná počáteční podmínka<br> | |
| xmax ... poslední bod, kde se má počítat řešení <br> | |
| n ... počet bodů uvnitř intervalu (x0, xmax)<br> | |
| <br> | |
| výstup: <br> | |
| x ... vektor všech bodů x<sub>k</sub> (včetně krajních bodů x0 a xmax)<br> | |
| y ... vektor přibližného řešení v bodech x<sub>k</sub><br> | |
| Bylo by hezké, kdybyste funkci Eul vylepšili tím, že byste i funkci pravé strany dokázali předat jako vstupní parametr. | |
| <br><br> | |
| </li> | |
| <li> Funkci Eul otestujte na nějaké rovnici, jejíž řešení umíte spočítat, a nakreslete graf přesného řešení a bodů přibliž. řešení pro vhodně zvolenou vzdálenost mezi body x<sub>k</sub> a pak také pro poloviční vzdálenost (do stejného obrázku). <br><br> | |
| </li> | |
| </ul> | |
| Otestované funkce f a Eul a hodnotu spočteného kořenu okopírujte do moodle a přidejte k tomu příkazy, kterými nakreslíte z výstupů funkce Eul požadované grafy (funkci Eul budete postupně volat dvakrát, pro dvě různé délky kroku).<br> | |
| <i>Funkce naprogramujte sami, neopisujte nějaké řešení třeba z internetu, kde se jich dá nalézt plno.</i> | |
| </li--> | |
| </ul> | </ul> |
| |
| Fourierova transformace</a> (česky, pdf) | Fourierova transformace</a> (česky, pdf) |
| </p--> | </p--> |
| |
| |
| |
| <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%% --> | |
| |
| |