Programování 2 pro matematiky

Ve školním roce 2020/2021 vedeme společně s Tiborem Rózsou cvičení z matematického Programování 2. Cvičení má dvě části: praktickou ve čtvrtek od 14:00 [v N8, dá-li PES] (tu vedu já) a teoretickou v úterý od 15:40 [v N11, dá-li PES] (vede Tibor).

Teoretické cvičení se zatím koná po Zoomu, odkaz vám měl přijít mailem. Pokud nedorazil, podívejte se do spamu a když tak mi napište.

Pokud chcete cokoliv konzultovat, napište mi prosím e-mail na mares+p2m@kam.mff.cuni.cz a domluvíme se.

K získání zápočtu je potřeba:

Co jsme dělali

datum téma
2. 3. Základní aritmetické algoritmy pracující po číslicích (vzpomínka na základní školu):
  • Součet a součin (program)
  • Porovnáváni (větší/menší/rovno)
  • Dělení (jednodušší: dělíme malým číslem)
  • Výpočet Eulerova čísla: Σn≥0 1/n!.
26. 2. Plán:
  • Slidy: NumPy
  • Dokumentace k NumPy:
  • Úkoly (snažte se používat jenom operace s poli, žádné cykly):
    • Vyrobte matici tvaru R×S vyplněnou číslem X.
    • Vyrobte matici tvaru R×S, která má na okrajích jedničky a jinde nuly.
    • Vyrobte matici tvaru R×S, která bude mít v i-tém řádku samá čísla i.
    • Spočítejte determinant 10 matic 10×10 vyplněných náhodnými čísly mezi -1 a 1 (viz np.linalg.det)
    • Uvažujme "průměrovací Fibonacciho čísla" definovaná rekurentním vztahem xi = (xi-1 + xi-2) / 2. Víme-li, že x8=426 a x9=427, kolik je x0 a x1? Vyřešte soustavu lineárních rovnic pomocí np.linalg.solve. Pro výrobu matic s jedničkami na posunuté diagonále se hodí np.eye.
    • Pokusy s dělitelností:
      • Vyrobte booleovskou matici, která má na pozici (i,j) True právě tehdy, je-li i dělitelné j.
      • Vyrobte vektor, který pro každé číslo od 1 do N uvádí počet jeho dělitelů.
      • Vyrobte vektor všech prvočísel mezi 1 a N.

Odkazy

Stránku spravuje Martin Mareš