Cvičení 5: 2D pole

Dvojrozměrné pole

  • Ukázka “pole polí”:

x = [[0, 1], ['a', True], [1, 1.0, 2, 4]]
>>> len(x)
3
>>> len(x[0])
2
>>> x[1][1]
True
>>> type(x)
<class 'list'>
>>> type(x[0])
<class 'list'>

  • Vytvoření nulové matice o rozměrech 2×3:

x = []
for i in range(2):
   x.append([0] * 3)
>>> print(x)
[[0, 0, 0], [0, 0, 0]]

Výpis matice

  • Napište funkci printMatrix, která vypíše matici zadanou 2D polem
  • Prvky budou odděleny mezerou a každý řádek bude vypsán na nový řádek
  • Kromě prvků matice nebude vypsán žádný jiný znak

Stopa matice

  • Napište funkci pro výpočet stopy matice

Násobení vektoru a matice

  • Napište funkci multiVecMat(v,m), která vypočte součin vektoru $v \in \mathbb{R}^{N}$ a matice $m \in \mathbb{R}^{N \times N}$.
  • Pokud nesouhlasí rozměry matice a vektoru, pak funkce vrací None.
  • Vypočtete výsledek násobení $m \cdot v$:

m=[[0,0,1],[0,1,0],[1,0,0]]
v=[2, 4, 6]

Načtení 2D pole ze souboru

  • Načtení matice uložené v souboru. Na každém řádku v souboru je uložen jeden řádek matice. Čísla jsou oddělena mezerou.
  • Vstupní soubor (matice.txt)

1 2 3
4 0 5
7 -1 2

  • Soubor matice.txt musí být “viditelný” pro váš skript (pokud ne, je třeba zadat absolutní cestu k souboru).

pole=[]
f=open('matice.txt','rt')
for line in f:
    pole.append(list(map(int, line.split())))
f.close()
print(pole)

  • Program vypíše

[[1,2,3],[4,0,5],[7,-1,2]]

Témata k procvičení

Implementujte následující úlohy:

  • Funkce, která v matici najde všechny záporné hodnoty, vraťte seznam jejich indexů
  • Funkce pro násobení dvou matic
  • Funkce pro výpočet determinantu matice
courses/b3b33alp/cviceni/t05.txt · Last modified: 2025/10/13 11:03 by novosma2