Listák

Egyszerű listák

l1 = {1, 2, 3, x^2, alma, "alma", {}, {12, 31}}

Length[l1]

l2 = {{1, 2, 3}, {{1, 2, 3}}}

l2[[2]]

l2[[-1]]

l3 = {{{{1, 2}, 3}, 4, 5}, {6, 7}, 8}

Length[l2[[2]]]

m1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}

MatrixForm[m1]

MatrixForm[{{1, 2, 3}, {1, 2}}]

Listakonstrukció

l4 = Range[10]

l41 = Range[2, 15]

l42 = Range[0, 1,  .3]

l5 = Table[i^2, {i, 1, 11}]

l51 = Table[i^2, {i, 3, 11, 2}]

l52 = Table[(i - j)^2, {i, -1, 4}, {j, 1, 5}]

l53 = Table[(i - j), {i, 1, 5}, {j, 1, i}]

TableForm[l53]

MatrixForm[l52]

Műveletek listákkal

A már definiált listákon próbáljuk ki a Flatten, Union, Intersection, Join, Drop, Take... függvényeket!

Értékadás

Lokális értékadás

x^2 + Exp[x] + Cos[2 - x] /. x -> 7

x^2 + Exp[x] + Cos[2 - x]

x^2 + y^2 - Sin[x y ]  /.  {x -> 7, y -> 3}

x^2 + y^2 - 
        Sin[x y ]  /.  {{x -> 7, y -> 3}, {x -> 2, 
          y -> 5}}

x y  /. {x -> y, y -> z}

x y  //. {x -> y, y -> z}

Globális értékadás

a = 3;
x = a^2

a = 4;
x

Clear[a, x]

a = 3;
x := a^2;
x

a = 4;
x

r1 = Random[]

r2 := Random[]

{Table[r1, {3}], Table[r2, {3}]}

ClearAll[a, x, r1, r2]

Mintázatok

f[a] + f[b]  /.  f[x_] -> x^2

f[a] + f[b]  + f[Sin[x] + 8] /.  f[x_] -> x^2

1 + y^2  + Sin[b]^4 /.  x_^n_ -> a[n]

1 + y^2 + Sin[b]^4  //. (1 +  x_^2) -> Cos[x]

Függvénydefiníció

f[x_] := x^3 + 2  x - 13

Table[f[i], {i, 1, 5}]

g[x_, y_] := x^2 + y^2 - x - y - x y - 1

Table[g[i, j], {i, 1, 10}, {j, 1, 10}]

Table[f[x], {x, -2, 2, 1/2}]

f[x_  /;  x > 4] := Cos[x]

Plot[f[x], {x, -5, 5}]

Table[f[x], {x, -2, 6, 1/2}]

Rekurziók

fac[1] := 1;
fac[n_] := n fac[n - 1]

fac[35]

fac[300]

Házi feladatok

Szerda

1. Határozzuk meg, hogy hány számot vesz fel a φ(n) függvény, miközben n befutja az 1000-nál nem nagyobb pozitív egészeket. (Segítség:  φ(n) a Mathematica-ban EulerPhi[n].)

2. Definiáljunk függvényt, ami 2-nél kisebb számokra (x^2), 2-nél nem kisebb számokra pedig (x^3) - 5  (x^2) + 8  x. Ábrázoljuk a függvényt a (-2, 6) intervallumon.

Hétfő

1. Számoljuk ki az (Subscript[a, n + 1]) = (Subscript[a, n]) + 1/(Subscript[a, n]),  (Subscript[a, 1]) = 1sorozat 20-dik elemének egészrészét!

2. A Table és a TableForm utasítások segítségével irassuk ki a 10×10-es szorzótáblát.

3. Számoljuk ki az (x^4) + 3 x (y^3) + 7  x y (z^2) + z/(y^2)kifejezés értékét az x=1.3, y=1.342, z=3.7343 helyen.