Teoretická Informatika



Podobné dokumenty

DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky

Extrémy funkcí na otevřené množině

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Práce s čísly. Klíčové pojmy: Základní matematické operace, zápis složitějších příkladů, mocniny, odmocniny, zkrácené operátory

8. Posloupnosti, vektory a matice

Tabulkové processory MS Excel (OpenOffice Calc)

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

Kreslení grafů v Matlabu

a 3 c 5 A 1 Programové prostředí

Vzdělávání v egoncentru ORP Louny

Jak pracovat s absolutními hodnotami

Nové kreativní týmy v prioritách vědeckého bádání CZ.1.07/2.3.00/ Tento projekt je spolufinancován z ESF a státního rozpočtu ČR.

Funkce zadané implicitně

5.3. Implicitní funkce a její derivace

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Slovní úlohy řešené lineární rovnicí. pracovní list. Základní škola Zaječí, okres Břeclav Školní 402, , příspěvková organizace

Příklady k druhému testu - Matlab

5. cvičení z Matematiky 2

Mária Sadloňová. Fajn MATIKA. 150 řešených příkladů (vzorek)

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Úvod do programu MAXIMA

Spojitost funkcí více proměnných

Úvod do informatiky. Miroslav Kolařík

Vybrané kapitoly z matematiky

VY_32_INOVACE_In 6.,7.13 Vzorce vložení funkce

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

Inovace výuky prostřednictvím šablon pro SŠ

Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto:

Tabulkový editor MS Excel II

10. Editor databází dotazy a relace

S funkcemi můžeme počítat podobně jako s čísly, sčítat je, odečítat, násobit a dělit případně i umocňovat.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

5 Tabulky a seznamy dat Příklad 3 Excel 2010

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí

Elektronická dokumentace - LATEX. Maticové operace

Funkce více proměnných - úvod

UP OLOMOUC Základy práce s PC. Zpracování dat. Marek Bednář

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Microsoft EXCEL. Ing. Pavel BOHANES. Tabulkový procesor

Kódy pro detekci a opravu chyb. INP 2008 FIT VUT v Brně

Matematika 1 pro PEF PaE

+ ω y = 0 pohybová rovnice tlumených kmitů. r dr dt. B m. k m. Tlumené kmity

Hladiny, barvy, typy čar, tloušťka čar. hodina 6.

Definice Řekneme, že funkce z = f(x,y) je v bodě A = [x 0,y 0 ] diferencovatelná, nebo. z f(x 0 + h,y 0 + k) f(x 0,y 0 ) = Ah + Bk + ρτ(h,k),

předmětu MATEMATIKA B 1

Finanční. matematika pro každého. f inance. 8. rozšířené vydání. věcné a matematické vysvětlení základních finančních pojmů

Návod na práci s redakčním systémem webu VPŠ a SPŠ MV v Praze

Cvičení 6 z předmětu CAD I PARAMETRICKÉ 3D MODELOVÁNÍ VÝKRES



MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

KTE / PPEL Počítačová podpora v elektrotechnice

Maple. Petr Kundrát. Ústav matematiky, FSI VUT v Brně. Maple a základní znalosti z oblasti obyčejných diferenciálních rovnic.

ilit Aditivní syntéza zvuku Vazba na ŠVP: matematika goniometrické funkce, fyzika - akustika

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

f(x) = 9x3 5 x 2. f(x) = xe x2 f(x) = ln(x2 ) f(x) =

Rámcový manuál pro práci s programem TopoL pro Windows

Microsoft Excel kopírování vzorců, adresování, podmíněný formát. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

. Určete hodnotu neznámé x tak, aby

Parciální derivace a diferenciál

Parciální derivace a diferenciál

Tvorba geometrického modelu a modelové sítě.

Laboratorní cvičení - Integrální počet v R

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

P íklady k druhému testu - Matlab

Vícerozměrná rozdělení

VY_32_INOVACE_M-Ar 8.,9.20 Lineární funkce graf, definiční obor a obor hodnot funkce

DUM 01 téma: Úvod do PowerPointu

Příklad bezprostředně navazuje na předchozí příklad č. 17. Bez zvládnutí příkladu č. 17 není možné pokračovat

Standardně máme zapnutý panel nástrojů Formátování a Standardní.

PRACOVNÍ SEŠIT MS EXCEL KOMPLET. Optimálním doplňkem stálého vzdělávání jsou elektronické kurzy.

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Obsah. Začínáme Viditelné součásti programu Simulace. WOP Menu CNC řízení. CNC Programy. Exec. Grafické okno. Strojní panel. 3D Model.

Laboratorní měření 1. Seznam použitých přístrojů. Popis měřicího přípravku

Vektory a matice. Matice a operace s nimi. Hodnost matice. Determinanty. . p.1/12

Seznámení s přístroji, používanými při měření. Nezatížený a zatížený odporový dělič napětí, měření a simulace PSpice

UŽIV ATELSKÁ PŘÍRUČKA

Diferenciální rovnice II

Projekt Vzdělávání dotykem CZ.1.07/1.3.00/ WORD 2013 práce s textovými soubory. Autoři: Jan Heller a David Peterka

Word podrobný průvodce. Tomáš Šimek

Základy algoritmizace a programování

Pokyny pro autory. (Times, 14, tučně, kapitálky) (Times, 10, tučně, kurzívou) (Times, 10, normálně)

Modul výsledky zkoušek

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

2. Numerické výpočty. 1. Numerická derivace funkce

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Kurz Word 2000 Odrážky a číslování Kurz Word 2000 Odrážky a číslování Oddíly Záhlaví a zápatí

Zkouška ze Základů vyšší matematiky ZVMTA (LDF, ) 60 minut. Součet Koeficient Body

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Praktické využití Mathematica CalcCenter. Ing. Petr Kubín, Ph.D. Katedra elektroenergetiky, ČVUT v Praze, FEL

Nalezněte hladiny následujících funkcí. Pro které hodnoty C R jsou hladiny neprázdné

Použití databází. Mnoho postupů, které si ukážeme pro prací s formulářů využijeme i při návrhu tiskových sestav.

Excel mini úvod do kontingenčních tabulek

Informatika a výpočetní technika 1. Ing. Ladislav Nagy Technická univerzita v Liberci FT / KOD / 2011

JčU - Cvičení z matematiky pro zemědělské obory (doc. RNDr. Nýdl, CSc & spol.) Minitest MT1

Transkript:

Teoretická Informatika Cvičení Téma: úvod do programu Mathematica Miroslav Skrbek 2009

2 ti-cviceni-uvod.nb Co se naučíte v tomto předmětu? Naučíte se teoretickým základů oboru informatika. Hlavními tématy budou množiny, binární relace, konečné automaty, gramatiky a jazyky, turingovy stroje, celulární automaty a další. V předmětu se naučíte se pracovat v mocném programu Wolfram Mathematica, který budeme používat jako inplementační platformu pro probíranou látku SolveAx 2 +2x 4 0, xe êê N 88x 3.23607<, 8x 1.23607<< PlotAx 2 +2x 4, 8x, 6, 3<E 20 15 10 5-6 -4-2 2-5

ti-cviceni-uvod.nb 3 Požadavky pro udělení zápočtu viz. požadavky předmětu

4 ti-cviceni-uvod.nb Wolfram Mathematica Progam Wolfram Mathematica je mocný nástroj pro symbolické počítání. Je ho možno použít jako è kalkulačku è maticový kalkulátor è pro řešení lineárních rovnic s více proměnnými è řešení diferenciálních rovnic è symbolické derivování a integrování è vykreslování grafů è a spostu dalších funkcí

ti-cviceni-uvod.nb 5 Kde mohu pracovat s programem Mathematica? Ve cvičeních, kde je nainstalován na počítačích učebny PČ1. Program vyvoláme z menu Všechny programy v operačním systému. Pro domácí úlohy, samostatné práce a samostudium budete využívat učebnu PČ1.

6 ti-cviceni-uvod.nb Mathematica - vytvoření notebooku Notebook připomíná textový editor, který nám slouží jako rozhraní k výpočetnímu jádru programu Mathematica. Do notebooku píšeme matematické výrazy, komentáře v podobě formátovaného textu, zobrazují se nám zde výsledky výpočtů a grafy. Notebook vytvoříme výběrem položky menu: Menu->File->New->Notebook Notebook se skládá z buněk (Cell), které připomínají řádky (bloky) textu s proměnlivou výškou. Buňka může obsahovat více standardních řádků. Mezi buňkami přecházíme kurzorovými šipkami nahoru/dolů. Pozor! použití klávesy Enter znamená přidání řádku v rámci buňky, nikoliv přechod na další buňku. Buňka je označena na pravé straně notebooku modrou skobičkou, na kterou můžeme kliknout myší a svinout buňku, rozvinout buňku, označit ji a pak klávesou delete vymazat. Každá buňka má styl. Například: input - vstup pro výpočty, out - výstup výpočtu, text - text (dokumentace výpočtu), title - nadpis,...

ti-cviceni-uvod.nb 7 Čísla v programu Mathematica Celá čísla (přesná) 81, 2, 3, 4, 5, 1000<; Racionální čísla (přesná) : 4 3, 1 3, 100 330 >; Iracionální čísla (přesná) : 6, 5, π>; Komplexní (přesná, nepřesná pokud obsahují reálná čísla) :1+3, 6 2, 8 6 5 >; Reálná čísla (nepřesná) 83.14, 1.41, 2.6545, 32.567<;

8 ti-cviceni-uvod.nb Proměnné Proměnné jsou například x,y,k, L, ale také xx, x1, kocka, pes23,... Proměnná začíná písmenem (snažte se používat malá písmena), za kterým následuje žádný, jeden nebo více znaků nebo číslic. Proměnná nesmí začínat číslem, např. 2x má význam 2 krát x, tak jak je užíváno v matematice (oboru). Nepoužívat podtržítka, jako je to zvykem v zazyce C, např. x_1, podtržítko má v programu Mathematica zvláštní význam 8x, xx, kocka, pes, x 1, xy 3, a1, b787, abc4<; Pozor! xy neznamená x krát y, ale jméno proměnné xy. Násobení zapisujeme x * y. Jako násobení se také chápe x y (mezera mezi x a y), to ale nepoužívejte, je to zdroj nepříjemných chyb. Jména proměnných volte rozumně, spíše více písmen dávajících smysl (rovnice1, vstup,...), zvyšuje to čitelnost programu.

ti-cviceni-uvod.nb 9 Operátor = Pro pochopení operátoru si představte, že program Mathematica obsahuje tabulku jmen proměnných a jejich hodnot (tabulku symbolů). Každá položka (řádek) obsahuje jméno proměnné a její hodnotu. x = 1; H do proměnné x přiřaď jedničku L Např. po provedení x=1 obsahuje tabulka řádek pro x (na začátku předpokládáme prázdnou tabulku symbolů). y = 2;H do proměnné y přiřaď dvojku L proměnná hodnota x 1 proměnná hodnota x 1 y 2 Nyní jsou v tabulce symbolů dvě proměnné x a y s přazenými hodnotami.

10 ti-cviceni-uvod.nb Změna obsahu proměnné x = 1; y = 2; Tabulka symbolů po provedení výše uvedených přiřazení x = 5; Nyní jsme změnili obsah proměnné x. proměnná hodnota x 1 y 2 proměnná hodnota x 5 y 2

ti-cviceni-uvod.nb 11 Vyhodnocení jednoduchých výrazů x = 1; y = 2; Tabulka symbolů po provedení výše uvedených přiřazení z = x+y; proměnná hodnota x 1 y 2 Výraz x+y na pravé straně operátoru přiřazení se vyhodnotí tak, že se Mathematica pro x podívá do tabulky symbolů a nahradí ho jeho hodnotou (1 v našem případě), totéž udělá pro y a pak teprve provede součet. Pak bude tabulka symbolů vypadat takto: proměnná hodnota x 1 y 2 z 3

12 ti-cviceni-uvod.nb Funkční program x = 1; y = 2; z = x+y; z H vytiskni obsah z L 3 Zadání k vlastnímu řešení: Vypočtěte hodnotu výrazu x 2 + 5 y-6z pro hodnoty x=10, y=25, z=8 Výsledek bude uložen v proměnné r.

ti-cviceni-uvod.nb 13 Záludnosti při vyhodnocení buněk v notebooku Buňky v notebooku se vyhodnocují na vyžádání, a to buď è jednotlivě (v každé buňce stiskneme klávesy Shift-Enter) pořadí vyhodnocení je dáno pořadím výběru buněk k vyhodnocení. Pokud vyhodnocujeme buňky na přeskáčku, může se stát, že dostaneme nesmyslné výsledky, protože si jádro vytváří tabulku symbolů v pořadí tak, jak vyhodnocujeme buňky a ne jak jsou zapsány v notebooku. Navíc je možné některé pravidlo vyhodnotit vícekrát. Pokud děláme navíc v notebooku zásadnější změny, tak i přes to, že veškeré změny odesíláme do jádra ( Shift-Enter), tak stav tabulky symbolů před změnami nám může způsobit nesmyslný výsledek. Proveďte: Menu-:>Evaluation->QuitKernel->Local (zajistí vynulování tabulky symbolů, začínáme tedy s "čistým stolem") Shift-Enter na buňce z=x+y výsledek je x+y protože ani x ani y nebylo zatím definováno (x=1 a y=2 nebylo ještě posláno do jádra). Shift-Enter na buňce y=2; a potom na z = x+y výsledek je x+2 protože y má hodnotu 2 Shift-Enter na buňce x=1; a potom na z = x+y výsledek je 3, který jsme očekávali è hromadně (Menu->Evaluation->EvaluateNotebook) Vyhodnotí všechny buňky v notebooku směrem od začátku do konce. Toto je významné, ale stále jen částečné řešení předchozího problému. Stále ještě hrozí, že před vyvoláním Menu->Evaluation->EvaluateNotebook nebyla tabulka symbolů prázdná a zvláště pokud používáme jednu proměnnou (jedno jméno) vícenásobně pro různé a nesouvisející výrazy, můžeme se stejně dobrat chybných výsledků. Pokud chceme mít jistotu, pak musíme inicializovat kernel (Menu- :>Evaluation->QuitKernel->Local) a vyhodnotit všechny buňky v notebooku Menu->Evaluation->EvaluateNotebook.

14 ti-cviceni-uvod.nb Řešení problémů s vyhodnocováním buněk Před každou skupinou buněk, která řeší nějaký matematický problém vymažeme funkcí ClearAll["Global`*"]; hodnoty všech proměnných v tabulce symbolů. ClearAll@"Global` "D; x = 1; y = 2; z = x+y 3 Pak pokud použijeme funkci Menu->Evaluation->EvaluateNotebook máme jistotu, že se nám všechny buňky vyhodnotí ve správném pořadí a navíc budou správně inicializovány. Toto si zvykneme psát do našich notebooků, abychom stále nenaráželi na problémy s vyhodnocováním buňěk.

ti-cviceni-uvod.nb 15 Funkce (vestavěné) Funkce v programu Mathematica hrají stejnou roli jako funkce v matematice. Jsou zde pouze odlišnosti v zápisu. Např. sin(x) se zapíše jako Sin[x]. Vestavěné funkce začínají vždy velkým písmenem a argumenty (parametry) jsou uzavřeny v hranatých závorkách. Funkce má určitý počet pevně určených parametrů a ostatní jsou volitelné a nezávisí na jejich pořadí. Volitelné parametry se zapisují jako pravidla, např. PlotRange All. Např. funkce Sin[x] má jeden pevný parametr. Funkce Plot[funkce, rozsah, PlotRange->All,...] má dva pevné parametry funkce a rozsah, další parametry jsou volitené. Význam jednotlivých parametrů funkcí nalezneme v helpu.?sin Sin@zDgivesthesineof z. à?plot Plot@ f,8x, x min, x max <Dgeneratesaplotof f asafunctionof xfrom x min to x max. Plot@8 f 1, f 2, <,8x, x min, x max <Dplotsseveralfunctions f i. à Pokud neznáme plně jméno funkce stačí naznačit (napsat jen část) např. Arc a pak Ctrl-k. Mathematica napoví (objeví se pop-up menu s možnostmi)

16 ti-cviceni-uvod.nb Funkce definované uživatelem Uživatel programu Mathematica si může definovat vlastní funkci. Parametry na levé straně přiřazení musí končit podtržítkem x_, yy_, případně x:_ nebo yy:_. Jedná se tzv. formální parametry, za které se v místě užití dosadí parametry skutečné. Formální parametry na pravé straně přiřazení podtržítko nemají. Užívá se zde jiného operátoru přiřazení (:=). Ten je interpretován odlišně, oproti operátoru =. U operátoru = je k levé straně (jméno proměnné, funkce,...) v tabulce symbolů přiřazena hodnota (vyhodnocený výraz na pravé straně) okamžitě. U operátoru := dojde k nahrazení levé strany pravou až v době užití, kdy je znám ke každému formálnímu parametru odpovídající parametr skutečný. Např. sigmoida[a+3,1] se nahradí Definujme logistickou funkci zvanou Sigmoida. 1, kde výraz a+3 a konstanta 1 jsou skutečnými parametry. -1*Ia+3M 1+ sigmoida@x_, γ_d := 1 1+ x γ; Plot@sigmoida@a, 1D, 8a, 8, 8<D 1.0 0.8 0.6 0.4 0.2-5 5

ti-cviceni-uvod.nb 17 Kreslení grafů (2D) Pro kreslení grafů (2D) používáme funkci Plot. První parametr je funkce, kterou chceme vykreslit. Druhý parametr je obor hodnot funkce pro zvolenou nezávislou proměnnou. Druhý parametr je vždy seznam obsahující po řadě proměnnou, minimální hodnotu a maximální hodnotu. Plot@Sin@xD, 8x, 0, 4 π<d 1.0 0.5 2 4 6 8 10 12-0.5-1.0 Pro hodnoty uložené v seznamu použijeme funkci ListPlot ListPlot@80.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8<D 0.8 0.7 0.6 0.5 0.4 0.3 0.2 2 4 6 8 Seznamy (List) Seznam je datová struktura, která dovoluje sdružit více položek a definuje nad nimi množinu specifických operací. Příklad seznamu: seznamtelcisel = 8459132566, 566766988, 677000332<; seznamprommennych = 8x, y, z<; Vybrané operace se seznamem H první telefonní číslo L First@seznamTelCiselD 459132566

18 ti-cviceni-uvod.nb H přidej tel. číslo na konec seznamu L novyseznam = Append@seznamTelCisel, 567 111 900D 8459132566, 566766988, 677000332, 567111900< druhetelcislo = seznamtelcisel@@2dd 566766988?List 8e 1, e 2, <isalistofelements. à

ti-cviceni-uvod.nb 19 Vícerozměrné seznamy Příkladem vícerozměrného seznamu může být matice Seznam odpovídající matici je sestaven po řádcích 3 12 5 7 9 1 22 11 10 matice = 883, 12, 5<, 87, 9, 1<, 822, 11, 10<< 883, 12, 5<, 87, 9, 1<, 822, 11, 10<< prvektretiradekdruhysloupec = matice@@3, 2DD 11 druhyradek = matice@@2dd 87, 9, 1< prvnisloupec = matice@@all, 1DD 83, 7, 22<

20 ti-cviceni-uvod.nb Pravidla Pravidla mají následující tvar xxøyy, kde xx a yy jsou symnoly. Pravidlo čteme jako xx nahraď yy. Příklady pravidel x y, a b, c 3 Šipku napíšeme tak, že napíšeme dvojznak minus a větší -> Pravidla můžeme použít např. pro dosazování do vzorečků ClearAll@x, y, zd hodnoty = 8x 3, y 5, z 10<; r = 4x 2y+8z ê. hodnoty 82 Do výrazu z = 4 x- 2 y + 8 z byly postupně dosazeny za x,y,z hodnoty 3,5,10. Výsledek pak je 4*3-2*5+8*10=82.

ti-cviceni-uvod.nb 21 Mapování Často potřebujeme aplikovat funkci na jednotlivé prvky seznamu. V následujícím přikladu spočítáme hodnoty e x pro čísla v rozsahu 0 až 10. x = Range@0, 10D e = Exp ê@ x 80, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10< 91,, 2, 3, 4, 5, 6, 7, 8, 9, 10 = Pro druhé mocniny musíme použít následující formu sqr = H L & ê@ x 80, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100< Operátor mapování vyžaduje na levé straně funkci a na pravé straně seznam, na který funkci aplikuje. Funkce se dá určit jejím názvem např. Exp, Sin apod. Všiměte si, že jde o odkaz na funkci, proto uvádíme jen jméno a ne obvyklý zápis např. Sin[x]. V druhém příkladu je funkce definována v podobě výrazu, kde znak # zastupuje jeden argument. Pak # * # & vlastně znamená funkci x 2, která je nepojmenovaná, má jediný argument a vstupuje přímo jako argument do mapovací funkce.