Tabuľky a grafy, overenie identít
Funkcie: Table, TableForm, ListPlot, Show, Part, Random, PrimeQ a iné.

Príklad 1. Tabuľku vytvoríme pomocou funkcie Table. Uvedená tabuľka obsahuje 20 hodnôt funkcie ^x/5 v bodoch x = 1, 2, ... ,20. Zvyčajne sa hodnoty uvádzajú ako postupnosť. Pri vertikálnom zobrazení hodnôt použijeme príkaz TableForm. Symbol //N zabezpečí numerický výsledok a symbol '%' výpis výsledku predchádzajúcej operácie.

data = Table[^x/5, {x, 20}] data//N TableForm[%]

{^(1/5), ^(2/5), ^(3/5), ^(4/5), , ^(6/5),  ... 14/5), ^3, ^(16/5), ^(17/5), ^(18/5), ^(19/5), ^4}

RowBox[{{, RowBox[{1.2214, ,, 1.49182, ,, 1.82212, ,, 2.22554, ,, 2.71828, ,, 3.32012, ,, 4.05 ... 13.4637, ,, 16.4446, ,, 20.0855, ,, 24.5325, ,, 29.9641, ,, 36.5982, ,, 44.7012, ,, 54.5982}], }}]

1.2214
1.49182
1.82212
2.22554
2.71828
3.32012
4.0552
4.95303
6.04965
7.38906
9.02501
11.0232
13.4637
16.4446
20.0855
24.5325
29.9641
36.5982
44.7012
54.5982

Príklad 2. Zobrazenie súboru bodov zabezpečí funkcia ListPlot. Body môžeme spojiť krivkou, alebo inak povedané lineárne interpolovať, použitím príkazu PlotJoined->True.

ListPlot[data] g2 = ListPlot[data, PlotJoinedTrue]

[Graphics:HTMLFiles/index_6.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_8.gif]

⁃Graphics⁃

Príklad 3. Vytvorená je ďalšia tabuľka hodnôt a zobrazený je jej graf. Oba grafy sú zobrazené v jednom diagrame pomocou príkazu Show.

d2 = Table[(1 + i^3)/(1 + i^2), {i, 5, 20}] g3 = ListPlot[d2, PlotJoinedTrue] Show[g2, g3]

{63/13, 217/37, 172/25, 513/65, 365/41, 1001/101, 666/61, 1729/145, 1099/85, 2745/197, 1688/113, 4097/257, 2457/145, 5833/325, 3430/181, 8001/401}

[Graphics:HTMLFiles/index_12.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_14.gif]

⁃Graphics⁃

Príklad 4. Vytvorená je ďalšia tabuľka hodnôt funkcie Cos[2x] , pričom premenná 'x' sa mení od -π  po π  s krokom   π/10. Takto získame 21 hodnôt. Výber definovaného prvku zabezpečíme symbolom [[ ]] s príslušným indexom alebo použitím funkcie Part. V našom prípade sme vybrali tretí prvok tabuľky a uložili sme ho do premennej s1.

step = π/10 s1 = Table[ Cos[2x], {x, -π, π, step}]//N s1[[3]] Part[s1, 3]

π/10

RowBox[{{, RowBox[{1., ,, 0.809017, ,, 0.309017, ,, RowBox[{-, 0.309017}], ,, RowBox[{-, 0.809 ... , 1.}], ,, RowBox[{-, 0.809017}], ,, RowBox[{-, 0.309017}], ,, 0.309017, ,, 0.809017, ,, 1.}], }}]

0.309017

0.309017

Príklad 5. Zobrazíme graf - body dané súradnicami v tabuľke s1 a krivku, ktorá ich interpoluje.

ListPlot[s1]
ListPlot[s1,PlotJoined->True]

[Graphics:HTMLFiles/index_22.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_24.gif]

⁃Graphics⁃

Príklad 6. Bežným spôsobom overovania rovností je dosadzovanie čísel náhodne generovaných na definovaných intervaloch. Toto zabezpečuje funkcia Random bez argumentu alebo s celočíselným argumentom. Generuje náhodné číslo z intervalu [0, 1]. Pomocou parametra Integer získame celé čísla, rovnako použitím funkcie Round. Ako príklad uvádzame generovanie náhodného čísla na intervale [0, 10].

Random[]
Random[]
Random[]
Random[Integer,{1,10}]
Round[10*Random[]]

0.788172

0.654077

0.22338

1

7

Príklad 7. Vytvorenie tabuľky obsahujúcej šesť náhodných čísel s možnosťou opakovania z intervalu [1, 49]. V poslednom riadku je usporiadaný zoznam t3.

n=6;
dolu=1;
gore=49;
t1= Table[Random[Integer,{dolu,gore}], {n}]
t2= Table[Random[Integer,{dolu,gore}], {n}]
t3= Table[Random[Integer,{dolu,gore}], {n}]
Sort[%]

{19, 4, 31, 17, 44, 5}

{7, 1, 32, 9, 49, 22}

{3, 41, 31, 39, 19, 13}

{3, 13, 19, 31, 39, 41}

Príklad 8. Vytvorenie tabuľky obsahujúcej osem prirodzených, osem reálnych a osem komplexných náhodných čísel z rôznych intervalov.

Table[Random[Integer , 20],{8}]
Table[Random[Real,{10 ,11}],{8}]
Table[Random[Complex,{1+i,10+10i}],{8}]

{10, 2, 12, 15, 7, 15, 12, 15}

RowBox[{{, RowBox[{10.9123, ,, 10.7255, ,, 10.6186, ,, 10.2927, ,, 10.7759, ,, 10.018, ,, 10.5592, ,, 10.6148}], }}]

RowBox[{{, RowBox[{RowBox[{RowBox[{1.87442, }], +, RowBox[{3.60355,  , }]}], , ... , }]}], ,, RowBox[{RowBox[{4.97183, }], +, RowBox[{7.85801,  , }]}]}], }}]

Príklad 9. Overenie rovníc a identít sa uskutočňuje substitúciou argumentu, ktorým je náhodné číslo. Ak je získaná rovnica správna, výsledok je hodnota 'True', ak je nesprávna, výsledok má hodnotu 'False'. V uvedenej tabuľke sú overené rovnice: 1 = 2, 3 = 3, atď.

1 == 2
3 == 3
Sin[Cos[x]] == Cos[ Sin[x]] /. x->Random[]
Sin[Cos[x]] == Cos[ Sin[x]] /. x->Random[]

False

True

False

False

Príklad 10. Majme dve identity s dvoma premennými. Overenie ich pravdivosti je jednoduché. Dosadením náhodných čísel zistíme, že prvá je vždy pravdivá, zatiaľ čo druhá je vždy nepravdivá.

a^2 - b^2 (a + b) (a - b)/.{aRandom[], b Random[]} a^2 + b^2 (a + b) (a - b)/.{aRandom[], b Random[]}

True

False

Príklad 11. Vytvoríme tabuľku prvých 100 prvočísel. Funkcia Prime[n] zobrazí 'n'-té prvočíslo. Posledný riadok zabezpečí grafickú interpretáciu prvých 100 prvočísel.

Prime[5]
Prime[1000]
p=Table[Prime[n],{n,100}]
ListPlot[p,PlotJoined->True]

11

7919

{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 9 ... 19, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541}

[Graphics:HTMLFiles/index_48.gif]

⁃Graphics⁃

Príklad 12. Určovanie prvočísel je veľkým problémom teórie čísel. Systém Mathematica rieši problém veľmi efektívne numericky. Použijeme funkciu PrimeQ s vyšetrovaným číslom a výsledkom je hodnota logickej premennej.

PrimeQ[13]
PrimeQ[15]
PrimeQ[1337]
PrimeQ[16300109754300123107]
opit=Random[Integer,{100,1000}]
PrimeQ[opit]

True

False

False

True

947

True


Created by Mathematica  (January 13, 2008)