Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

6. Seznamy / pole

Polynomy

  • Polynom $a_0 + a_1 x + a_2 x^2 + \ldots + a_n x^n$ můžeme reprezentovat polem koeficientů [ a_0, a_1, a_2, … , a_n ]
  • Příklad:
    • polynomu $1 + x - 2x^2$ odpovídá pole [1, 1, -2 ]
    • polynomu $x - x^3$ odpovídá pole [0, 1, 0,-1 ]
  • Nulové koeficienty lze vynechat u nejvyšších mocnin, ale ne u nejnižších.
  • Příklad:
    • [0,1,2] vyjadřuje polynom $x + 2x^2$
    • [0,1,2,0] vyjadřuje taktéž polynom $x + 2x^2$
    • ale [1,2,0] vyjadřuje polynom $1 + 2x$

1. úkol - hezký výpis polynomu

  • Napište funkci printPoly,která vypíše polynom, přičemž mocniny bude tisknout znakem '^'.
  • Pokud je nějaký koeficient nulový, příslušný člen se nevypíše.
  • Příklad:
    • printPoly( [ 1, 1, 0, -2] ) vytiskne 1 + x - 2x^3
    • printPoly( [ -2, 0, 0, -2, 0, 0, 0] ) vytiskne -2 -2x^3

2. úkol - výpočet hodnoty polynomu

  • Napište funkci polyValue , která pro zadaný polynom a hodnotu x vypočte jeho hodnotu v zadaném bodě $x$
  • Tedy polyValue([1,0,2], 4) má hodnotu 33, protože $1 + 2x^2$ pro $x=4$ je 33.

Dvourozměrné pole

  • Načtení matice - dvourozměrného pole - ze souboru kombinuje načítání vektoru z minulého cvičení

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

Matice

  • 2D pole se hodí např. pro reprezentaci matic

3. úkol - výpis matice

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

4. úkol - násobení vektoru a matice

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

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

Domácí práce - operace s maticemi

Implementujte následující funkce:

  • 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 rozumné velikosti
courses/bab37zpr/tutorials/lab06.txt · Last modified: 2019/11/04 16:05 by viteks