Posloupnosti a vektory E 3011 Jan Böhm RECETOX April 10, 2024 Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 1 / 8 Co nás dnes čeká 1 Hlavní funkce 2 Aplikace 3 Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 2 / 8 Hlavní funkce Hlavní funkce Naimplementujte tyto 3 funkce: addMatrices(A, B), která ověří, zda lze matice A, B sečíst a pokud ano, vrátí jejich součet. numberTimesMatrix(c, A), která vynásobí matici A skalárem c a tento součin vrátí. matrixProduct(A, B), která která ověří, zda lze matice A, B v tomto pořadí vynásobit a pokud ano, vrátí jejich součin. matrixVectorProduct(A, u), který spočítá Au - násobení vektoru u maticí A zleva a výsledek vrátí jako vektor. První dvě funkce jsou jednoduché, pro třetí funkci je návod na dalším slajdu. Čtvrtá funkce pak už bude docela snadná. Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 3 / 8 Součin matic Na vstupu jsou dvě matice A, B. Ověřte, že A a B lze vynásobit. Pokud ne, napište chybu a funkce vrátí None. Jinak: Vytvořte si matici 0 správných rozměrů, např. R. Pro každý řádek v A Pro každý sloupec v B Spočítejte skalární součin a vložte na správné místo v R. Vraťte R. Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 4 / 8 Co nás dnes čeká 1 Hlavní funkce 2 Aplikace 3 🍕 Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 5 / 8 Transformace v R2 Rotace v R2 Pomocí násobení vhodnou maticí dokážeme rotovat bod (x, y) v rovině okolo počátku souřadnicového systému. Implementujte funkci rotate(x, angle), která bod x = [x0, y0] orotuje okolo počátku o úhel angle (ve stupních) v kladném směru otáčení. 1 print(rotate([0,1], 90)) 2 >>> [-1.0, 6.123233995736766e-17] 3 4 print(rotate([2,3], -30)) 5 >>> [3.232050807568877, 1.598076211353316] Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 6 / 8 Co nás dnes čeká 1 Hlavní funkce 2 Aplikace 3 🍕 Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 7 / 8 Takeaways Po dnešním cvičení byste měli umět: Pracovat s dvourozměrnými poli. Rozumět indexování dvourozměrných polí, umět vybrat nějakou podmnožinu hodnot z takového pole. Po dnešním cvičení byste měli mít připravené tyto funkce: Sadu pomocných funkcí pro manipulaci s maticemi. Funkci pro sčítání matic, násobení matic a násobení vektoru maticí. Jan Böhm (RECETOX) Cvičení VIII April 10, 2024 8 / 8