Listy (seznamy)

Nadefinujme následující listy (seznamy):

basaPiv={Gambrinus, Plzen, Staropramen}
basaPiv2={Bernard, Svijany, Rohozec}
hromadaPiv={basaPiv, basaPiv, basaPiv2, Starobrno, Radegast}
skladPiv={hromadaPiv,basaPiv2}

Přístup k prvkům seznamu (indexace)

K jednotlivým položkám listu lze přistupovat pomocí [[]] (po programátorsku: indexy polí se píšou do dvojitých hranatých závorek)

basaPiv[[2]]

hromadaPiv[[3]]

hromadaPiv[[3,2]]

skladPiv[[1]]

skladPiv[[1,2,3]]

Funkce operující nad listy

?Flatten

Flatten[skladPiv]

Funkce generující listy

?Range

Range[3,30]
Range[3,30,6]

?Table

Table[(x^2),{x,0,10}]

Proměnné - rozšířené možnosti

Hodnotou proměnné může být nejenom číslo, ale prakticky jakýkoliv výraz či řetězec. Například:

x=5
budova=NTK

Proměnné lze proto využít například pro pojmenování složitých výrazů, například rovnic. Soustavu lineárních rovnic

2(Subscript[x, 1]) + 3(Subscript[x, 2]) + 4.2(Subscript[x, 3]) == 5
3(Subscript[x, 1]) + 15.2(Subscript[x, 2]) + 8.7(Subscript[x, 3]) == 80.1
4(Subscript[x, 1]) + 8.9(Subscript[x, 2]) + 17.2(Subscript[x, 3]) == 11

lze proto řešit buď takto:

Solve[{2(Subscript[x, 1])+3(Subscript[x, 2])+4.2(Subscript[x, 3]) ==5,3(Subscript[x, 1])+15.2(Subscript[x, 2])+8.7(Subscript[x, 3]) ==80.1,4(Subscript[x, 1])+8.9(Subscript[x, 2])+17.2(Subscript[x, 3]) ==11}]

nebo takto :

rce1 = 2(Subscript[x, 1]) + 3(Subscript[x, 2]) + 4.2(Subscript[x, 3]) == 5;
rce2 = 3(Subscript[x, 1]) + 15.2(Subscript[x, 2]) + 8.7(Subscript[x, 3]) == 80.1;
rce3 = 4(Subscript[x, 1]) + 8.9(Subscript[x, 2]) + 17.2(Subscript[x, 3]) == 11;
Solve[{rce1,rce2, rce3}]

Pravidla

ClearAll[x,y,z]

Pravidla
def={x->2, y-> 1, z->4}
moje = {x-> 5}
{x, y, z}/.moje
({x, y, z}/.moje)/.def

"->"  se napíše tak, že zadáte - následované > a pak pokračujete v psaní

Aplikace pravidel pomocí /.

{x, y, z}/.moje
({x, y, z}/.moje)/.def

Uživatelem definované funkce

Pro definování se používá dvojznak :=

mojeFce[x_] := (x^3)+2(x^2)+5x-27

Formální parametry jsou na levé straně označeny podtržítkem (x_, xx_, y_), na pravé straně podtržítko nemají. Uživatelem definovanou funkci lze následně použít jako jakoukoliv jinou funkci. 

Například:

Plot[mojeFce[r],{r,-3,3}]