2 Základný popis systému Pylab.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "2 Základný popis systému Pylab."

Transcript

1 1 Úvod. Prvoradým cieľom tejto učebnice je poskytnúť vám základné informácie, potrebné k úspešnej práci s programovým systémom Pylab, ktorý na FRI už niekoľko rokov využívame pri výučbe predmetu UNIX vývojové prostredie.terazsasnimstretneteajna Numerickýchmetódach a(vďalších rokoch)ajvovýberovompredmete Modernépribližnémetódy.Postupne by sme chceli tento systém zaviesť aj do výučby ďalších matematických a príbuzných predmetov. Príklady, uvedené v tomto texte budú hlavne z oblasti numeriky, vrátane rozsiahlejších ukážok použitia Pylabu na problémy interpolácie a aproximácie dát, numerickej integrácie a riešenia nelineárnych rovníc a ich sústav. Sme presvedčení, že zvládnutie tohto elegantného, jasného a ľahko naučteľného programovacieho prostriedku sa vám vyplatí aj do budúcnosti. Je to mohutný systém s veľkými výpočtovými i grafickými možnosťami, určený na prácuajsveľkýmiobjemamidátasichvizualizáciou.vpozadíjekvalitný univerzálny programovací jazyk Python, ktorý máte v Pylabe plne k dispozícii. V prípade potreby si môžete do systému pridať ďalšie moduly(napr. pre prácu s databázami SQL, lineárne programovanie, prezentáciu výpočtov adátnawebeapod.). Nemusíte však veľa vedieť o programovaní v Pythone, pretože Pylab je jazyk veľmi vysokej úrovne, inšpirovaný známym komerčným systémom MAT- LAB.Priprácivňomdosiahnetesminimálnou programátorskou námahou veľké výsledky a môžete sa viac venovať skutočne zaujímavým a podstatným veciam nielen v matematicky zameraných predmetoch, ale aj vo svojej ďalšej odbornejpráci.viemezoskúsenostíaveríme,žemnohýmzváspylabapython pomôže napr. pri spracovaní semestrálok, bakalárskych či diplomových prác aj neskôr, keď budete v zamestnaní. Výhodou Pylabu je vysoký stupeň kompatibility s MATLAB-om, ktorý je veľmi rozšírený hlavne vo vzdelávacích inštitúciach, ale aj v priemysle(na našej univerzite s nim pracujú na elektro aj strojníckej fakulte). To, čo MAT- LAB nemá, je univerzálny programovací jazyk(u nás Python), široko využiteľný aj samostatne. Predpokladáme, že tento text budete čítať pozorne a nad prečítaným sa budete aj zamýšľať, najlepšie s asistenciou počítača. Bez neho je to ťažké, niečoakolízaniemeducezsklo.nemusítesičítaťúplnevšetkoa učiťsato. Najlepším učiteľom ja samotný Pylab, keď ho budete používať na riešenie problémov, ktoré vás bavia. Veci, ktoré budete potrebovať si môžete prečítať ajnaviackrát.vôbecnámvšaknerobíradosťobjasňovať xrazy(x 1)veci, ktorésúvysvetlenévtomtotexte.veďprávenatosmehonapísali,abyste sajehočítanímsaminaučiliaspoňtoľko,čonámbudetrebanacvičeniachz numeriky a iných príbuzných matematických i nematematických predmetov. Zdôrazňujeme, že na matematických predmetoch sa nebudeme učiť programovať. Budeme predpokladať, že to už viete, alebo sa to práve učíte, aj s pomocou tejto učebnice. Preto sme ju písali skôr formou konkrétnych príkladov, než suchopárnych programátorskych pravidiel. Dúfame, že si každý zvásnájdeniečo,čohoaspoňtrochuzaujmeavyprovokujeksamostatnej činnosti a experimentovaniu. Ak narazíte na problémy, snažte sa ich najskôr vyriešiť sami(veď na čočlovekprídesám,tosiajnajlepšiezapamätá).keďtoužnijakonejde, hľadajte pomoc vo svojom okolí(vrátane nás, učiteľov). Ak vieme, radi poradíme.aknevieme,aspoňmátelepšípocit,ženiestesamiaspolubudeme hľadaťniekoho,ktobytovedieťmohol,ajkebyboluprotinožcov. TentotextjemienenýakoúvoddoprácesPylabom,mávámtedapomôcť začať pracovať v tomto systéme. Na mnohé otázky v ňom nenájdete odpoveď. Ak však budú niektoré vaše otázky(alebo aj typické chyby a problémy) veľmi časté, radi tento text upravíme, či rozšírime o odpovede na ne. Nemohli ste si nevšimnúť, že je čoraz ťažšie zaobísť sa bez znalosti jazykov, angličtiny zvlášť. Ak máte v tejto oblasti slabiny, unikajú vám mnohé príležitosti. Zastávame názor, že učenie sa jazykov nie je nejaká separovaná činnosť, (drvenie slovičiek, gramatických poučiek a podobné vylomeniny), ale treba ju podľamožnostíčonajskôr zabudovať donašejbežnejpráce.samozrejme, ako štartovací bod je nutná istá minimálna slovná zásoba a základná znalosť gramatiky. AngličtinajetiežvprípadePylabuviacakoužitočná.Ktootomešte pochybuje, dúfame, že aj v práci s Pylabom nájde ďalší podnet(a príležitosť) na zdokonalenie sa v oblasti jazykov. Pylab má vynikajúci systém pre nápovedu,alejetovšetkovangličtineanebudetoinak.myslímesitiež,že niektoré pojmy v oblasti informatiky strácajú prekladom na zrozumiteľnosti, takže aj k nami pridaným častiam systému sme písali nápovedu po anglicky. Ďalšia prekážka, ktorú musíte prekonať, je zvyknúť si na iný, hoci pohodlnejšíštýlprácevpylabe.niejetopascal,anic-čko,takžesahonesnažte 1 2

2 podľa vzoru týchto jazykov komplikovať a zneprehľadňovať. Jasný, prehľadný alogickýprogramjeakoumeleckédielo.malibystemaťradosťztoho,že ste niečo také vytvorili. 2 Základný popis systému Pylab. 2.1 Všeobecná charakteristika systému. Pylab, ako asi uhádnete, je skratka z Python Laboratory. Keďže inšpiráciou bol MATLAB, je to predovšetkým maticové laboratórium. Teda, interaktívny, maticovo orientovaný systém pre vedecké a inžinierske výpočty a vizualizáciu dát(tzn. výsledky výpočtov môžete graficky prezentovať v rôznych typoch grafov, prípadne formou animácie). Zdrojové programy, napísané v Pylabe(čo je vlastne Python s vhodnými knižnicami-modulmi) sa dajú bez zmeny prenášať medzi jednotlivými implementáciami na rôznych počítačoch s rôznymi operačnými systémami. Špecialne pre MS Windows sú vymyslené prostriedky(py2exe), ako vašu aplikáciu(aj so všetkým, čo je pre jej beh potrebné, vrátane Pythonu a príslušných modulov) zbaliť do jedného vykonávateľného súboru. Takže, ak máte rozsiahlejší výpočet, môžete ísť na výkonnejší a spoľahlivejší počítač. Asijenačase,abystesaposadilikpočítačuavyskúšalisizopárjednoduchýchvecí.Hlavne,akoPylabspustiťaakoznehoodísť.Pylabsaspustí príkazom ipython -pylab, ale to si pamätať nemusíte. Na našich učebniach, kdebudemetentosystémvyužívať,tobudejednazpoložiekmenuvgrafickom prostredí XWindow, v ktorom sa ocitnete po prihlásení. Len tak mimochodom,budemepracovaťvoslinux,aletotiežniejedôležité.budeme využívať len Pylab a niekoľko málo iných aplikácii. Pospustenísavámotvorípríkazovéokno,vktorombudeteužmôcťzadávať príkazy Pylabu a aj niektoré užitočné príkazy operačného systému(napr. ls výpisadresára,cd zmenaadresára).vaševstupysaznačianaobrazovkeakoin [1], In [2],...azodpovedajúcevýstupy(odpovede)Pylabu súout [1], Out [2],...Prezačiatoksimôžetevyskúšaťnapr.pylab?čo je prehľadná nápoveda o Pylabe. Keď sa chcete dostať znova na príkazový riadok, stlačte q bude vysvetlené o chvíľu. Práca v Pylabe sa ukončí príkazmi quit alebo exit,alebo,čo je najpohodlnejšie, kombináciou kláves Ctrl-D(to je znak konca súboru, v našom prípade signál na ukončenie vstupu zo štandardného vstupného súboru klávesnice). Keď sa pýta, či chceme skutočne odísť, prikývneme. Všetky príkazy, ktoré ste zadávali, sa zapisujú do súboru(konkrétne, je to súbor history v podadresári.ipython vášho domovského adresára to je ten, kde sa ocitnete po prihlásení a z ktorého nie je dôvod vôbec vyskakovať). Ak z Pylabu neodídete vyššiespomínaným spôsobom, ale kliknutím myšou na značku na lište príkazového okna, príkazy sa do histórie nezapíšu, tak sinatodajtepozor!popríkazochzhistóriesamôžetevpylabepohybovať šípkami(hore, dole). Ak viete, že chcete príkaz, ktorý je v histórii a začínal napr.y=,taktonapíšeteastlačítectrl-p.príkazsadoplníapríp.akich bolo viac, môžete sa opätovným Ctrl-P po nich pohybovať. PriprácisPylabomsanemôžete stratiť,(pravda,aktrochavieteanglicky), pretože príkazom objekt? alebo?objekt dostanete informácie o príslušnom objekte. To je dobre vedieť hneď od začiatku a je to rýchlejšia alternatíva, ako listovanie v dokumentácii. Skúste si napr. plot?, linspace?, roots?. Ak je nápoveda na viac obrazoviek, zobrazí sa pomocou špeciálneho programu, stránkovača(poznáte to podľa dvoch bodiek na samostatnom poslednom riadku v okne), vtedy prezeranie ukončíte stlačením klávesy q. Jedinýproblémje,ženazačiatkuasinebudetevedieť,načosapýtať. Preto na webovej stránke nájdete názvy niektorých užitočných príkazov, spolu s ich stručným vysvetlením. Potom si môžete podrobnosti doplniť vyvolaním nápovedy. Hoci Python, náš pracovný kôň(workhorse:-) v pozadí, pracuje s mnohými typmi objektov(zoznamy, asociatívne polia, usporiadané n-tice, textové reťazce), nás budú na numerike zaujímať hlavne číselné obdĺžnikové matice a vektory(ich prvky môžu byť celočíselné, reálne, ale i komplexné). Matice a vektory sú základnym dátovým typom v Pylabe a máme veľa funkcií, ktoré sadajúnaneaplikovať poprvkoch.jetedatrebamaťnapamäti,ženapr. príkaz sin(a) neurobí len sínus jedného čísla, ale aplikuje funkciu sínusnavšetkyprvkymaticeabeztoho,žebysmemuseliprogramovať cykly po prvkoch matice. Preto programy v Pylabe vychádzajú oveľa menšie a zrozumiteľnejšie, než v tradičných programovacích jazykoch(pascal, FORTRAN, C/C++). 3 4

3 Je to dané aj tým, že nemusíme deklarovať typy premenných; podľa toho, ako vznikli, je jasné aj akého sú typu(napr. a=1 je celočíselná premenná, b="facina" je textová premenná, c=[1,2, tri ] je zoznam,...). Skrátka, všetko,čovznikámákdesizaarchivovaný rodnýlist atostačí.ďalšiapríjemnávecje,žesanemusímestaraťoalokáciuauvoľňovaniepamäti,čoiste ocenia hlavne C-čkári:-) Keďže Pylab má vlastný programovací jazyk a je nim Python, môžeme pohodlne pridávať k už zabudovaným funkciám svoje vlastné funkcie, ba celé balíky funkcií podľa potreby. Tí skúsenejší z vás môžu využívať v Pylab-e existujúce knižnice, napísané v C/C++ a FORTRAN-e. Takisto nie je problém čítať a zapisovať textové i binárne dáta do súborov. Okrem širokej škály funkcií pre matice a vektory(napr. maticové operácie, jednoduchá manipulácia s indexami a submaticami, riešenie sústav lineárnych rovníc, inverzia matice, determinant, vlastné čísla a vlastné vektory, Fourierova transformácia, charakteristický polynóm,...) máme v Pylabe tiež základné numerické algoritmy: interpolácia a aproximácia jedno- a dvojrozmerných dát(polynomická a splajnová) korene polynómov, riešenie nelineárnych rovníc a ich sústav numerické integrovanie(aj dvojné a trojné integrály) optimalizácia funkcií viac premenných; existuje aj možnosť využitia Pythonu ako jazyka pre modelovanie a riešenie optimalizačných úloh lineárneho a celočíselného programovania(modul Pulp) riešenie diferenciálnych rovníc a ich sústav funkcie pre štatistiku špeciálne funkcie(ortogonálne polynómy, eliptické integrály, gama funkcia,besselovefunkcie,...) funkcie pre spracovanie signálu(hodia sa hardvéristom). Pritom si môžeme výsledky okamžite znázorniť pomocou grafov v pravouhlých alebo v polárnych súradniciach, prípadne parametricky. Máme aj špeciálne grafy(histogramy, koláčové grafy). Pylab dokáže tiež zobraziť vrstevnice plochy z = f(x, y), príp. farebne vyplnený priestor medzi vrstevnicami(niečo ako mapa, kde farba závisí od nadmorskej výšky). Trojrozmerná grafika(kreslenie plôch) sa plánuje, takže vás to možno zastihne aj v tomto letnom semestri. V Pylabe môžeme vykonávať tiež ľubovoľné externé programy a príkazy operačného systému(napr. tak, že pred príkaz napíšeme výkričník), čo nám umožňuje využiť hocijaké naše už skompilované programy ale aj iné programové systémy napr. na vytvorenie užívateľského rozhrania, generovanie dátových súborov pre Pylab, rozšírenie grafických možností Pylab-u, symbolické úpravy vzorcov(derivovanie, integrovanie, úprava algebraických výrazov napr. v systéme MAXIMA). Nikdy nezabúdajte na to, že práca s počítačom je tvorivý dialóg medzi vami a nim. Kedykoľvek vám niečo zahlási na obrazovku, venujte tomu pozornosť(hlavne, keď je tam slovko"error" a keď sa to vypisuje červeno). Počítač si nevymýšľa a nesimuluje. Kľudne si prečítajte, čo vám píše(znova tá čertovská angličtina, ale musíte to skôr-neskôr prekonať:-), porozmýšľajte a snažte sa jeho správanie pochopiť. Potom sa môžete(niekedy je to ajnaviackrát)pokúšaťodstrániťto,čomunavašom výpočte vadí.ignorovaním chybových hlásení a vytrvalým opakovaním tých istých chybných príkazov(alebo ešte horšie, náhodnými experimentami a zmenami programu bez toho, aby ste rozumeli, čo vlastne robíte) sa k ničomu rozumnému nedopracujete.vybudeteokozeaonovoze načojetakárobota?toje hluboké nedorozumění aniedialóg. Poznámka: Systém Pylab sa neustále vylepšuje, jeho zdrojové kódy sú voľne prístupné na Internete. Ak si ho budete chcieť inštalovať doma, je dôležité, aby ste mali najnovšie stabilné verzie modulov, z ktorych sa skladá. Inak sa vámľahkomôžestať,žeto,čonámfungujebezproblémovvškolevámdoma chodiť nebude. Uvádzame najnovšie verzie(stav zo 4. apríla 2006): Program Verzia URL na download Python IPython fix1 Numpy SciPy Matplotlib

4 Namiesto modulu Numpy sa predtým používali moduly Numeric alebo Numarray, pre nové inštalácie ich však neodporúčame, lebo sa ďalej nevyvíjajú. Samozrejme, ak budete potrebovať usmernenie či radu pri inštalácii, radi pomôžeme. No obyčajne stačí prečítať si príslušné súbory README či INSTALL a riadiť sa podľa nich. Pritom budete mať oveľa menej problémov s inštaláciou a udržiavaním pod OS UNIX-áckeho typu, než keby ste používali MS Windows. Verte, drvivú väčšinu problémov, ktoré sa objavujú na elektronických konferenciách, hlásia užívatelia MS Windows. Pre výpočtovo náročné aplikácie sú OS typu UNIX jednoznačne vhodnejšie a spoľahlivejšie. 2.2 Zadávanie vektorov, matíc a operácie s nimi. Vektory a matice sú základnými objektami v Pylabe a tvoria aj základ numerických algoritmov. Hlavnou výhodou Pylabu je, že dokáže vykonávať maticové operácie a funkcie (napr. výber submatíc a prvkov matíc a aj modifikáciupríslušnýchoblastímatice,vytváraniematíczmenších blokov, násobenie matíc, inverznú maticu, determinant matice, vlastné čísla a vlastné vektoryaveľainýchvecí),nemusímesatedastaraťo programovanie na úrovniprvkovmatícavektorovsozáľahou for cyklovadeklarácii. Pokiaľ si však na taký(pohodlný, ale iný) štýl práce zvyknete, budete mať tendenciu aj jednoduché veci(z pohľadu Pylabu) robiť zložito, hlavne ak ste sipredtýmzvyklina klasiku vpascal-e,čic-čku.zlatépravidlopylabu hlása:vyhýbajsacyklom,kdesatolendá.všetkosasnažtezapisovaťaj vo vašich programoch štýlom, blízkym k obvyklému matematickému zápisu, ako píšete napr. na matalýze či algebre. Je dobre si uvedomiť, že vektor je špeciálnym prípadom matice(matica typu(1 n)jeriadkovýatypu(n 1)stĺpcovývektor).Aletiežmôžeme mať jednorozmerný vektor,kdenámnariadkovostičistĺpcovostinezáleží avtedystačízadaťlenjedenrozmer početprvkov. Matica môže byť zadaná viacerými spôsobmi, napr: pomocou príkazov a prostriedkov Pylabu( z klávesnice zadaním prvkov matice, alebo vytvorením matice v Pylab-skom programe) nahratím zo súboru(vytvoreného v Pylab-e, C, FORTRANE, exportovaného z databázy, príp. tabuľkového procesora, alebo priamo vytvoreného v nejakom textovom editore). Neodporúčamevámpoužívať školský spôsobinteraktívnehozadávania rozmerov a prvkov matice z klávesnice (Zadaj n: Zadaj A[1,1] apod.). Hodísatopremaléúlohy,alesreálnymsoftvéromtonemáničspoločné. Predpokladáme,žechcetebyťskutočníprofesionálianie lepiči,pretosi trénujte dobré programovacie návyky :-) Aj keď používate malé vstupné dáta, programujte tak, aby ste ten istý kód mohli použiť pre realistické, veľké vstupy. Zásadne používajte vstupné a výstupné(textové, pre rozsiahle dáta aj binárne) súbory, Python má veľmi príjemné prostriedky pre prácu s nimi. Budeme sa zaoberať najskôr priamym zadávaním matíc, teda prvým prípadom. Najjednoduchším spôsobom je zadanie vymenovaním prvkov matice.niekoľkopríkladov(skúšajtesi naživo ): A= array([[1,2.5], [ 1,3]]) # realna matica 2x2 B= array([ 1,3,2 80]) # celocisel. jednorozmerny # vektor, 2 80 je umocnovanie Br= array([[1, 2,3]]) # riadkovy vektor Bs= array([[1],[ 2],[3]])# stlpcovy vektor C= rand(4,3) # nahodna mat., rovnomer. rozd. [0,1) D= zeros((3,3), d ) # matica nul (realnych, nie int.) F= 4 ones((4,2)) # matica zo samych stvoriek (int.) E= eye(4) # jednotkova matica 4x4 (matematicka) G= empty((5,5)) # neinicializovana mat. 5x5, rychle Možno ste zmätení, že nevidíte nič na obrazovke. Príkaz od-entrujete a akoby sa nič nestalo? No, stalo sa. Do premenných A,B,...,G máte priradené, čo ste zadali. Výpis premennej na obrazovku zariadite jednoducho napísaním jej mena, alebo cez príkaz print, napr. print(a). Keby ste niečo vytvorili, ale nikde nepriradili, automaticky sa to vypíše na obrazovku to je najrozumnejšie, čo môže systém pre vás urobiť(samozrejme, nepriradené objekty nemôžete použiť v ďalších výpočtoch). Väčšinazvásužasiuhádla,žetextyzaznakom#(aždokoncariadku)v horeuvedených príkladoch sú komentáre. Teda sú to vysvetľujúce poznámky pre nás, ľudí a Pylab ich ignoruje. Je dobre si robiť komentáre, sú trvácnejšie, ako poznámky v zošite:-) Vaše zdrojáky a tiež históriu interaktívnych príkazov si môžete kedykoľvek stiahnúť cez sieť(sú na fakultnom študentskom serveri st.fri.utc.sk, kde zvyknete robiť aj na iných predmetoch). Často,hlavnekeďužrobítevPylabedlhšíčas,stratíteprehľadotom,čo 7 8

5 zapremennéafunkciestesivyrobili.takženamiestotoho,abystesilámali hlavu,čisavašamaticavoláa, aaleboaa,spýtajtesasystému-hej, ktojetu? príkazomwho.ukecanejšípríkazwhosvámpovieaj,akétypy majúvašeobjektyavypíšeajrozumnémnožstvoichprvkov(aksútoobjekty sekvenčného typu). Ľubovoľný objekt môžete zlikvidovať príkazom del, napr. del(g), alebo pre viaceré objekty del(ob1,ob2,ob3). Ale tie matice, čo sme vytvorili povyššie, si nechajte, budeme sa na ne ešte odvolávať. Treba si zvyknúťtiežnato,žepylabrozlišujemaléaveľképísmená,tedaaa, Aa, aa, aasúštyrirôznemenáobjektovvpylabe. Asi ste pochopili, že príkaz array vytvorí jedno alebo viacrozmerné pole, akmuzadátenejakýzoznam(tosútievecivhranatýchzátvorkách).noa rand, zeros, ones, eye slúžia na rýchle, pohodlné vytváranie špeciálnych matíc. Funkcie rand, eye sa vyvolajú jednoducho, napr. rand(2,3) bude maticanahodnýchčíseltypu2 3. Funkcie zeros, ones, ako vidíte povyššie, maju nejako viac zátvoriek. Je to preto, lebo môžeme mať nuly či jedničky celočíselné, reálne, alebo komplexné. Keď zadáme len usporiadanú dvojicu, napr. zeros((2,4)) vytvorí sa celočíselná matica(vonkajšie zátvorky sú volanie funkcie zeros, vnútorné zas pre usporiadanú dvojicu, určujúcu rozmer matice, v našom prípade to bude matica typu 2 4). Keď však zavoláme zeros((2,4), d ) tak sa vytvorí matica s nulami reálnymi. Pre počítač je to podstatný rozdiel, lebo reálne číslaukladádopamätiapracujesnimiúplneinak,akoscelýmičíslami. Uvedieme písmenové označenia pre niektoré často používané typy prvkov číselných polí:? booleovské hodnoty(v Pythone sa značia identifikátormi True, False), b byte, l celéčísla, d reálnečísla, D komplexné čísla. Takže napr. ones((3,5),? ) bude matica 3 5, ktorej všetky prvky budú mať hodnotu True. Z vyššieuvedeného príkladu(pre maticu B) vidíte, že operácia umocňovania sa značí dvomi hviezdičkami(to je prevzaté z FORTRAN-u). Ale tiež vidíte,žeajtakéveľkéčísloako2 80 sazobrazísprávne.jetopreto,žepython pracuje s celými číslami s ľubovoľnou presnosťou, čo neplatí napr. pre PASCAL či C/C++. Takže v Pylabe môžeme rátať napr. faktoriály veľkých čísel, alebo binomické koeficienty(môžete vyskúšať, sú to funkcie factorial, comb). Na matici D=4*ones((4,2)) vidíte, že môžeme robiť aritmetické operácie medzimaticamiačíslami.skústesinapr.c+2adostanetematicu,kdeku každému prvku matice C je pričítaná dvojka. Podobne funguje aj odčítanie a delenie nenulovým reálnym či celým číslom. Takisto, teda ako operácie po prvkoch, fungujú aj aritmetické operácie medzi maticami(obyčajne rovnakého rozmeru). Vyskúšajte A*A, C+C, F/4.0. Takže hviezdičkový operátor nie je maticové násobenie, ako ho poznámezalgebry.akchcemenásobiťmaticečivektorytakto matematicky, použijeme funkciu dot, napr. dot(c,bs) urobí súčin matice C a stĺpcového vektora Bs v tomto poradí. Keby sme chceli urobiť súčin dot(bs,c), systém by nám vynadal, nesedia mu rozmery. Môžeme si položiť otázku, ako zistíme rozmery viacrozmerného číselného poľa?avôbec,akéďalšiefunkciemámepreprácuspoľamikdispozícii? Tuprichádzamedooblasti,kdejenášpracovnýjazyk Pythonprenásveľkou posilou, pretože je objektovo orientovaný. Všetko, čo vytvoríme, je objekt.podľatoho,akovznikolnášobjektp,mávždynejakýdátovýtyp. Ten zistíme príkazom type(p). Ako to poznáte z iných objektovo orientovaných jazykov, každý objekt má tiež svoje dáta a metódy(keď použijeme terminológiu z C++). K nim sa dostaneme v Pylabe cez bodkové označenie. Napr.akAječíselnépole(tojeunásdátovýtypndarray),potomjeho metódy(funkcie) sú A.max, A.sum, A.reshape, A.transpose a veľa iných. Jeho dáta(atribúty) sú napr. A.shape, A.dtypechar, A.ndim. No odkiaľ smesatodozvedeli?tosimusímepamätať,čičo?žiadnystrach,pretože Pylab inteligentne doplňuje názvy objektov a ich metód. Používame natoklávesutab tojetásdvomidiodami:-)konkrétne,aknapíšetea.(tá bodkajetamdôležitá)astlačítetab,vypíšusavámnaobrazovkuvšetkydáta ametódyobjektua.keďjetohoveľa(akožeajje),napíšemenapr.a.traa potom stlačíme TAB. A dostaneme len dve metódy A.trace, A.transpose. Ak nám nie je intuitívne jasné z názvu(alebo experimentovaním), o čom daná vec je, dáme si nápovedu, napr. príkaz A.trace?. Teraz prezradíme, že A.shape je usporiadaná n-tica, určujúca rozmery poľaa.konkrétne,prematicuaznášhopríkladunámpylabvrátidvojicu (2,2). Vyskúšajte, čo dostanete pre vektory B,Br,Bs a maticu C. Potom vám bude jasné prečo nejde urobiť maticový súčin dot(c,br). Dá sa urobiť dot(c,b) a prečo? Je zaujímavé, že rozmery matice môžeme meniť kedykoľvek, priradením do jej dátového atribútu shape, teda ak dáme C.shape=(6,2), naraz sa z matice 4 3stanematica6 2.Rozmyslitesi,akobystetýmtoštýlomzľubovoľnej 9 10

6 matice urobili jednorozmerné pole(malá nápoveda:(m,n)=c.shape dá do premennej m počet riadkov a do premennej n počet stĺpcov matice C). Jejasné,žezadávaniematícprvkamisahodílenprenieprílišrozmerné matice. Numeriku sa však učíme preto, aby sme zvládli riešenie reálnych problémov,kdematicerádove sú malé.našťastie, prvkami pri zadávaní matice možu byť nielen čísla, ale tiež celé maticové bloky, či submatice. Matice v aplikáciach majú často blokovú štruktúru a v Pylabe máme na ich konštrukciu funkciu bmat. NapríkladmaticaMtypu8 10môžebyť pozliepaná zmenšíchblokov A,B,C,D: A=ones((3,5)) B=zeros((3,3)) C=3*ones((5,8)) D=-ones((8,2)) P=bmat( A,B;C );M=bmat( P,D ) Najskôr vytvoríme pomocnú maticu P typu 8 8, ktorej prvý riadok je tvorený maticamia,badruhýriadokjec.potomkppridámespravamaticud. Všimnite si, že argument pre funkciu bmat zadávame ako textový reťazec; vňomsúprvky(bloky)vriadkuoddelenéčiarkamiariadkysaoddeľujú bodkočiarkou(tak je to zvykom v MATLAB-e). Vidíte tiež, že na jednom riadku môžeme zadať viac príkazov, ak ich oddelíme bodkočiarkou(platí aj v Pythone, nielen v Pylabe). Pre spájanie matíc(vedľa seba, alebo pod sebou) máme ešte funkciu concatenate. Cvičenie2.1Vytvorte šachovnicu,tedamaticu8 8,kdenabielychpoliach budú nuly a na čiernych jedničky. Myslí sa inteligentný algoritmus, s čo najmenšou námahou a nie otrocké zadávanie všetkých prvkov. A samozrejme, taký aby sa dal ľahko zovšeobecniť aj na väčšie matice. V numerike aj v úlohách inžinierskej praxe sa stretávame s pásovými maticami.príkazdiagnámumožňujeposkladaťmaticuzošikmých pásov, rovnobežných s hlavnou diagonálou. Skúste takto vytvoriť maticu M rozmeru 10 10,ktorábudemaťnahlavnejdiagonáletrojky,nadňoučísla 1apod diagonálou čísla 2; ostatné prvky matice M sú nulové. Častopotrebujemevektory,ktorýchprvkysú pravidelnerozmiestnené medzi hodnotami v beg(počiatočná hodnota) a v end(koncová hodnota). Ak vieme počet prvkov n takého vektora v, vytvoríme ho jednoducho príkazom v=linspace(vbeg,vend,n). Vektory ekvidištantných hodnôt, generované pomocou linspace využívame často na kreslenie grafov( kriviek, plôch). Napríklad príkazmi x=linspace( pi,3 pi,100); y=sin(x); plot(x,y) vytvoríme 100-prvkový vektor x hodnôt, rovnomerne pokrývajúcich interval π, 3π, ďalej vypočítame hodnoty sínusu vo všetkých týchto bodoch x avykreslímegraffunkcie y=sin xpre xvintervale π,3π.skústesito, nech vidíte už aj nejaký obrázok:-) Neskôr si o Pylabskej grafike povieme podrobnejšie. Pre vytvorenie vektora celočíselných ekvidištantných hodnôt je výhodnejší príkaz arange(i beg, i end, step), ktorý vytvorí vektor ekvidištantných hodnôt s krokom step začínajúci hodnotou i beg, pričom koncová hodnota niejeväčšiaakoiend - 1.Napríkladpríkazarange(1,10, 2)vytvorí vektor(1, 3, 5, 7, 9),alearange(1,9, 2)dávektor(1, 3, 5, 7). Ak nezadáme argument step, berie sa krok 1(vektor za sebou idúcich celých čísel),napr.arange(1, 6)jevektor(1, 2, 3, 4, 5).Akzadámejedinú hodnotu,napr.arange(n),dostanemevektor nhodnôt0,1,..., n 1.Pythonsky príkaz range sa chová takisto, ale namiesto číselného vektora vracia zoznam. 2.3 Vyberanie a priraďovanie prvkov a submatíc, operátory porovnávania, základné funkcie. Jednotlivé prvky vyberáme z matice pomocou indexovania hranatými zátvorkami, ako je to zvykom aj v iných programovacích jazykoch. Teda, to čo matematickyzapíšemeakoa ij budemevpylabepísaťakoa[i,j].jedôležitévedieť,žečíslovanieriadkovistĺpcovzačínaodnuly(tak,akojeto vjazykuc)takžeprvokv ľavomhornomrohu maticeajea[0,0].celé riadky vyberáme jednym indexom, napr. A[0] je prvý riadok matice A

7 Namiesto číselných indexov môžu byť tzv. slices(po slovensky hádam krajce ),ktorévyzerajúako ibeg:iend:k, kdeibegjepočiatočnýindex,iendkoncovýindexakjekrok.tátodvojbodková syntax je ekvivalentná príkazu arange(i beg, i end, k), takže platívšetko,čosmepovedalivyššieotomtopríkaze.ibažekrajcesadajúpoužiť len pri indexovaní polí. Ukážeme to na príkladoch, kde predpokladáme, žeajematica5 5,generovanánapr.príkazomA=rand(5,5) A[:2,:2] # submatica prve dva riadky a stlpce A A[1::2,::2] # riadky 1,3 a stlpce 0,2,4 A[1:3,3] # riadky 1,2 a stlpec 3 A[:,2] # vsetky riadky, stlpec 2 A[:: 1,:] # riadky matice A v opacnom poradi A[[3,0,2],:] # riadky 3,0,2 a vsetky stlpce Myslíme,žezuvedenýchpríkladovjejasné,čosastane,keďsavynechá počiatočný, koncový index či krok. Osobitne zaujímavé je vytvorenie vektora s opačným poradím prvkov príkazom v[::-1]. Výber prvkov pomocou dvojbodkového označenia môžeme robiť na oboch stranách priraďovacieho príkazu, napr. A[:,[1,2,4]]=B[:,1:4] nahradístĺpce1,2,4maticeaprvýmitromistĺpcamimaticeb.pripodobnom priraďovaní treba dbať na rozmerovú kompatibilitu(pravá a ľavá strana musiamaťtenistýrozmer).napravejstranemôžebyťtiežlenjednočíslo, takže príkazom A[:2,:3]=0 vynulujeme celú príslušnú submaticu matice A. To je jeden zo spôsobov, ako sa vyhnúť explicitným cyklom(typu for, while) a zrýchliť beh programu. V algebre ste často robili operácie s riadkami matice, napr. nejaký násobok prvého riadku ste pričítali k druhému riadku matice A a výsledok zapísali do druhého riadku. To sa urobí aj v Pylabe ľahko(nezabúdajme na indexovanie riadkov a stĺpcov od nuly): A[1]=A[1]+3.5 A[0] Ďalší príklad: dx=x[1:] x[: 1] vypočítavektordiferencií x i = x i+1 x i pre i=1,2,..., n 1,akxje n-prvkový vektor. Záporné indexy sú špecialitou Pythonu a počítajú sa od konca, takže x[:-1] je vektor x bez posledného prvku. Pomocou dvojbodkoveho označenia by ste si mohli skúsiť urobiť tú šachovnicovú maticu núl a jedničiek, ktorú sme hore konštruovali z blokov. Stačilo byvyrobiťvektoryprvýchdvochriadkovatiepotom obdva opakovať. Prechádzame k operátorom porovnávania(tj. <, >, <=, >=, ==,!=). Predpokladajme, že A je náhodná matica, vytvorená napr. ako A=rand(4,4). Skústesi,čourobiapríkazyA>0.7, A<0, A!= A, A == A.Akovidíte,výsledok je booleovská matica s rovnakým rozmerom ako matica A, v ktorej hodnoty True sú na miestach, kde je podmienka porovnávania splnená a hodnotyfalsetamkdenieje. Operátory porovnávania môžeme tiež kombinovať s logickými operátormi &,, ~.Pretých,čopoznajúPython nepoužívajtenačíselnépoliaoperátory and, or, not, lebo tie vám vynadajú(nevedia porovnávať polia po prvkoch ). Najkrajšie na tom všetkom je, že výsledok porovnávania(booleovská matica)sadápoužiťnaďalšiumanipuláciustýmiprvkamimatice,kdejepravdivostná hodnota True. Napr. A[(A >0.8) (A <0.1)]=0 vynulujevmaticiavšetkyprvky,ktorésúväčšieako0.8,alebomenšieako 0.1. Porozmýšľajte, ako by ste vynulovali všetky prvky, ktorých absolútna hodnotajemenšiaakodanékladnéčíslo ε,napr. ε=4.4e-16. Pekný príklad: zistime počet prvkov v náhodnej matici , ktoré sú väčšie, ako 0.7(keďže viete niečo z pravdepodobnosti, mali by ste tušiť, koľko ich bude): A=rand(100,100) # nahodna matica 100 x 100 A7=(A>0.7) # bool. matica, True kde a[i,j] > 0.7 P7=A7.sum() # sucet prvkov A7 je ten pocet # (True > 1, False > 0 v sucte) Všimnite si, ze metóda sum sčíta všetky prvky daného číselného poľa(aj viacrozmerného). Ak potrebujeme vektory stĺpcových alebo riadkových súčtov, 13 14

8 trebazadaťešte súradnicovúos 0prestĺpcovéa1preriadkovésúčty, teda S riad=a.sum(0); S stlp=a.sum(1). Na záver tohto odseku spomenieme niekoľko funkcií pre polynómy a matice, ktoré asi budete často používať. Polynóm P n (x)=c n x n + c n 1 x n c 1 x+c 0 jevpylabereprezentovaný vektorom jeho koeficientov, pričom začíname od najvyššej mocniny premennej x. Napr. P 5 (x)=x 5 2x 3 +7x 2 x 3 jedanývektoromc=[1, 0, -2, 7, -1, -3]. Tedažiadne ručné programovaniemocnínpremennejapod.napočítanie hodnôt polynómu používame funkciu polyval, takže y5 = polyval(c, rand(100)) uloží do premennej y5 hodnoty horeuvedeného polynómu, vypočítané v 100 náhodných bodoch. Dvojica funkcií roots, poly slúži na výpočet koreňov polynómu a opačne, na rekonštrukciu koeficientov polynómu, ak sú dané jeho korene. Skúsme si: W=poly(arange(1.0,21.0)) # Koeficienty Wilkinsonovho # polynomu s korenmi 1,2,...20 R=roots(W20) # korene toho polynomu # to, co uvidite, je zivot : ) Na násobenie a delenie polynómov sú funkcie polymul, polydiv. Vynásobmepolynómy p=(x 1) 5, q = x 2 +5x 6asúčinvydelímeopäť polynómom q,čímbysmemalidostaťpolynóm pazvyšok0.jetotak? cp=poly([1.0] 5) # polynom p s 5 nasob. korenom 1 cq=[1, 5, 6] # polynom q cs=polymul(cp,cq) # vysledok nasobenia polynom s cpd,zv=polydiv(cs,cq) # s/q = p (cpd = cp plati?) S maticami sa zaoberáme dosť aj preto, aby sme vedeli riešiť sústavy lineárnych rovníc. Ak matica systému je štvorcová a regulárna, tj. s nenulovým determinantom, môžeme použiť funkciu solve. Napr: A=rand(1000,1000) # nahodna matica 1000 x 1000 b=rand(1000) # nahodna prava strana x=solve(a,b) # x je riesenie syst. A x = b norm(dot(a,x) b) # velkost vektora A x b # musi byt velmi male cislo Pravástrana bsystémumôžebyťajmaticatypu n makmaticasystému jetypu n n.jetoakoby mpravýchstránnaraz(stĺpcematice b).napr. Ai=solve(A,eye(1000,dtype= d )) vypočítainverznúmaticukmaticia.alenikdytotaknerobte,jetoneefektívne. A vôbec, inverznú maticu potrebujeme skutočne zriedkavo. Potrebujeme riešiť sústavy lineárnych rovníc. To sa budeme učiť na numerike, aj pre sústavy so všeobecnou, obdĺžnikovou maticou. 2.4 Programovanie v Pylabe, základy na prežitie. Pylab je interaktívny interpretačný jazyk. Vy mu zadávate rôzne príkazy (v príkazovom riadku na obrazovke), on ich vykonáva. Keď však chcete robiť komplikovanejšie veci, napíšete si váš program s pomocou nejakého textového editora(my budeme používať nedit, čo je skratka z Nirvana Editor:-), uložíte na disk a potom ho spustíte v našom interaktívnom prostredí cez príkaz run. Programovanie v Pylabe je vlastne programovaním v Pythone. Takže máme k dispozícii všetky dátové typy(čísla celé, reálne, komplexné, textové reťazce, zoznamy, usporiadané n-tice, asociatívne polia) a príkazy(vrátane cyklov, podmienok, ošetrovania výnimočných situácií) z Pythonu. Pre produktívnuprácuvpylabevšakstačíveľmimáloatosiukážemenajednoduchých príkladoch. Príklad 2.2 Vytvorme funkciu, ktorá vráti Hilbertovu maticu n n, tj. maticusprvkami h ij =1/(i+j 1), i, j=1,2,..., n. Najskôr si musíme správne nakonfigurovať editor, v ktorom budeme naše zdrojové programy písať. Je to veľmi dôležité, pretože Python používa indentáciu(odsadenie textu) na označenie blokov v programe(teda to, čo sa v Pascale značí pomocou begin, end a v C-čku pomocou krútených zátvoriek). Editor treba nastaviť tak, aby namiesto tabelátorov vkladal štyri 15 16

9 medzery(aktovovašomeditorenejde,prejditenainý:-).apotomnaindentáciu zásadne využívajte klávesu TAB, nie medzery. Ak ešte nemáte vybraný vhodný editor, skúste si pozrieť editor,čiskôridespejenapísanývpythoneajeveľmidobrý. Ak sa budete týchto rád držať, nebudete mať žiadne problémy. Ak nie, dočkáte sa mnohých hlášok typu Indentation error a budete nadávať na Python. Najhoršie, čo môže byť, je zdroják, v ktorom sú pomiešané tabulátory a medzery v indentácii. V každom editore to môže potom vyzerať inak. Čojehoršie,úplnesamôžezmeniťzmyselzdrojáku.Autortomôžepotvrdiť z vlastnej skúsenosti, keď začínal s Pythonom veľmi krvopotne práve z uvedených malicherných dôvodov(a pre vlastnú tvrdohlavosť a lenivosť:-) Takže predpokladáme, že máte editor správne nastavený. Dajte si nový súbor, ktorý hneď pomenujte napr. hilbert.py. To ukončenie súboru na.py pomôže editoru, aby nastavil zvýrazňovanie syntaxe, príp. dopĺňanie kľúčových slov, apod. No a obsah súboru bude nasledujúci: from numpy import empty def hilb(n): H=empty((n,n), d ) #inicializacia matice H for i in range(n): # priradenie prvkov for j in range(i,n): H[i,j]=H[j,i]=1.0/(i+j+1) return H Keď ten súbor uložíte(pre nedit je to klávesová skratka Ctrl-S), nechajte si editor otvorený(väčšinou programy nebývajú bez chýb a treba ich ladiť, teda opakovane prepisovať v editore). Vráťte sa do interaktívneho prostrediapylabuapríkazomrun hilbert.pynačítatedopylabuvšetko,čojev tomsúboredefinované.vnašomprípadejetolenfunkciahilbamôžetesa pomocou príkazov who, whos presvedčiť že ju máte. Naša funkcia sa vyvolá(použije) podobne, ako vstavané funkcie, teda že dáme meno funkcie a nejaké(konkrétne) argumenty(alebo, keby argumenty neboli, tak len prázdne zátvorky). Napr. hilb(5), hilb(12). No, nie je blbuvzdorná, lebo napr. vykoná sa aj hilb(5.735). Ale vždy začíname tak, že nám ide o správnu funkcionalitu programu a predpokladáme inteligentnéhoužívateľa(obyčajneprvý,ktototestujejesámtvorcaprogramu:-)aaž neskôr sa vrátime k ošetreniu chýb vstupu a iným menej podstatným veciam. V našom malom súbore vidíte definíciu funkcie, potom inicializáciu matice (alokáciu pamäti). Ďalej sú dva vnorené príkazy cyklov a nakoniec priradenie hodnôtprvkommatice(narazdvom-pretože h ij = h ji ).Zapamätajmesi, žedvojbodkynakonciriadkovsúsúčasťousyntaxeapíšusalenv týchto prípadoch: 1. za definíciou funkcie, napr. def factorial(m): 2. na začiatku cyklov for, while 3. v podmienkach, za kľúčovými slovami if, elif, else, finally a tiež pri ošetrovaní výnimiek(kľúčové slová try, except) Keď chceme, aby naša funkcia vrátila nejaký objekt, musíme to explicitne povedať príkazom return. Keď to neurobíme, funkcia vráti Pythoňácke nič, čo je špeciálny objekt None. Samozrejme, z funkcie môžeme vrátiť aj viac objektov naraz, napr. cez usporiadanú viac-ticu. V Pythone funguje viacnásobné priradenie, napr. a=b=1, alebo podobne a,b=1,2, tj. usporiadanej dvojici(a,b) sa priradia príslušné hodnoty z číselnej dvojice(1,2). Dva objekty zameníme jednoducho cez príkaz a,b=b,a. Všimnite si, že usporiadaná n-tica, to sú objekty, oddelené čiarkou. Písať okrúhle zátvorky niekedy nie je nutné. Častopoužívanýmtrikomje rozdistribuovanie výsledkufunkciedoviacerých premenných. Napr. ak MP="Libuše Přemyslovna" je textový reťazec, tak príkazom meno, priezvisko = MP.split() urobíme priradenia meno="libuše", priezvisko="přemyslovna". Pozrite si,čorobímetódasplitpreobjektytypustr. VPylabemôžemepohodlnezapisovaťaj intervalove nerovnosti,napr. 1 x <3 zapíšemeako 1 <=x<3. Zaujímavý je prvý riadok vyššieuvedeného súboru. V Pythone(podobne, akojetovc-čku)jeväčšinafunkcionalityprístupnávmoduloch,čoje obdobapascalských units aleboc-čkovskýchknižníc.napr.funkciaempty je v module numpy a sprístupníme ju(importujeme do nášho programu) práve 17 18

10 príkazom: from numpy import empty. Naraz môžeme z toho istého modulu importovať aj viac objektov, napr.: from numpy import zeros, ones, eye, empty, dot. Ako vieme, v ktorom module(resp. submodule) je naša funkcia? Nuž, vyskúšame moduly, tvoriace Pylab v tomto poradí numpy, scipy, pylab. Základné funkcie pre prácu s maticami a vektormi budú v module numpy, tie druhé dva sú nadstavbou nad týmto fundamentálnym modulom. V interaktívnom prostredí importujeme oba výpočtové moduly, teda import numpy, scipy. Predpokladajme, že chceme vedieť, odkiaľ treba importovať funkciu solve.skúsimenumpy.solatiežscipy.solažečinámtodoplnítab-om. Keďnie,taktamtáfunkcianieje. Akniečoniejevmodulochnumpyaniscipy,trebavyskúšaťsubmodulyv scipy. Najužitočnejšie pre nás budú scipy.linalg, scipy.interpolate, scipy.integrate, scipy.optimize, scipy.stats. V našom prípade zaberie scipy.linalg.sol, lebo to sa nám už TAB-om doplní. Teda príkaz na import funkcie solve bude: from scipy.linalg import solve. Modul pre kreslenie, pylab používame obyčajne tak, že z neho importujeme všetko, teda from pylab import *. Zvyknite si, že všetky importy dávame na začiatok zdrojového súboru, nikdy nie roztratené sem-tam alebo nedajboh niekde v našich definovaných funkciách. Inak sa budete veľmi čudovať, prečo raz máte a raz nemáte niečo k dispozícii. Ladenie programu s roztratenými importami by bolo vrcholne nepríjemné. Treba si ujasniť ešte jednu fundamentálnu vec: ak je nejaký objekt dostupný v interaktívnom prostredí, nemusí byť dostupný vo vašom zdrojovom súbore. Každý Pylabský zdrojový súbor sa chová ako minimodul amásvojvlastnýpriestormien.napríkladpospustenípylabumáte v interaktívnom prostredí k dispozícii funkcie array, dot, solve, zeros, bmat, emptyamnohoďalších.jetozaistenétým,žesmeichpridalido vhodných inicializačných súborov, ktoré si Pylab načíta pri štarte. Ale to váš zdroják nerobí a preto všetky tieto funkcie musíte importovať, ak ich chcete používať. Príklad 2.3 Napíšme funkciu na výpočet faktoriálu nezáporného celého čísla n(uložte ju do súboru factorial.py). def factor(n): assert(type(n)==int and n>=0), Need natural numb. fct=1 if n in [0,1]: return fct else: for k in range(2,n+1): fct = k fct # tiez ako v C cku: fct = k return fct Príklad2.4Vytvorímefunkciunavýpočet n-téhočlena a n Fibonaccihopostupnosti, ktorá je daná predpisom a 0 =0, a 1 =1; a k+2 = a k+1 + a k pre k=0,1,.... def fib(n): assert(type(n)==int and n>=0), Need natural numb. if n in [0,1]: return n else: a akt,a predch=1,0 for k in range(2,n+1): a akt,a predch=a akt+a predch,a akt return a akt Nové je v týchto funkciách ošetrenie vstupu tak, aby to neprešlo, ak vstup niejeceléčísloaeštektomuajnezáporné.funkciaassertzaistí,abyvnej uvedenépredpokladybolisplnené.akniesú,generujesachybaamôžesa prípadne vypísať objasňujúci text. Podobne ako operátor and aj ostatné logické operátory or, not sú pomenované príslušnými anglickými slovami(ale ako sme povedali už vyššie, pre číselné polia používajte&,, ~). V tom príklade vidíte tiež jednoduché vetvenie programu podľa podmienky pre npatriacedozoznamu[1,2]jefaktoriálrovnýjednej,inak sa počíta v cykle opakovaným násobením. Rozmyslite si, že v našom príklade tú podmienku else ani netreba. Všeobecný príkaz pre vetvenie môže obsahovať ešte niekoľko vetiev, začínajúcich kľúčovým slovom elif

11 2.5 Práca s dátovými súbormi. Pre uschovanie dát v textových súboroch a ich opätovné načítanie máme dvojicu funkcií save, load. Príklad 2.5 Vytvorme náhodný neorientovaný graf, ktorý má dvanásť vrcholova53hrán.zoznamhránzapíšmedosúboruapotomtiehranyzneho načítajme. Graf sa tu chápe v zmysle dopravnej siete(cestnej, železničnej), tj. ako množina uzlov(vrcholov), pospájaných cestami(hranami). Vytvorenie grafu bude väčší problém, než tie súbory. Poďme cestou najmenšieho odporu a hrubou silou. V module scipy.stats(keďže je to submodul pre pravdepodobnosť a štatistiku, je logické, že hľadáme tam) nájdeme našim obľúbeným doplňovaním klávesou TAB, že existuje funkcia scipy.stats.random integers a tá sa nám hodí. Keďže nám nerobí problém napísať všeobecnú funkciu pre náhodnýgrafsnvrcholmi(očíslujemeichporadovýmičíslamiod1don)a m hranami, urobíme to. Uložte si ju do súboru randgraph.py. V tej funkcii budeme generovať hrany(dvojice čísel 1 až n, pričom na poradí nezáleží, teda vždy môžeme zobrať prvý prvok menší, ako druhý), kým ich nebude presne m: from scipy.stats import random_integers as rndint def randgraph(n,m): Ph=0 # pocet hran Zh=[] # zoznam hran odpad=0 # pocet zamietnutych hran while True: u,v=rndint(1,n),rndint(1,n) # pripustne su len hrany pre u<v # a take, ktore este nemame if u<v and (not (u,v) in Zh): Zh.append((u,v)); Ph += 1 else: odpad += 1 if Ph==m: break return Zh, odpad Všimnite si, že kvôli pohodlnosti sme si pri importe premenovali funkciu randomintegers dalismejejkratšiemeno.aksačudujete,načonám je premenná odpad, tak prakticky nanič. Ale môžeme si podľa nej urobiť predstavu, aká je naša metóda hrubej sily(ne)účinná. Viac ako polovička generovaných hrán sa nepoužije. Skúste si vyvolať našu funkciu(niekoľkokrát) tak, ako to potrebujeme, teda Zh,odp=randgraph(12,53) a uvidíte, že v premennej odp bude vždy okolo 200 odvrhnutých hrán. Potom, pre produktívne využitieupravtefunkciurandgraphbezpremennejodpad, čím sa jej zdroják dosť zjednoduší. Zaujímavosťou funkcie randgraph je jej chovanie sa pri volaniach ako napr. randgraph(12,67). Doporučujeme vyskúšať. A hlavne potom upraviť tak,abysapodobnépsiekusyneopakovali(jemožné,ževpanikeajpočítač resetnete, ale nerobte to:-) Radšej si spomeňte na niektoré fakty z kombinatoriky. Teraz môžeme ten zoznam hrán uložiť do textového súboru s názvom gr12 53.txt príkazom: save( gr12_53.txt,zh, %i ) Tretí, nepovinný parameter je formátovací reťazec v štýle C-čka, teda"%i" znamená uloženie v celočíselnom formáte("%d" by bol formát pre reálne čísla vdvojitejpresnosti typdoublevc-čku).súborgr1253.txtsimôžete pozrieť a prípadne upravovať v textovom editore; vyskúšajte, čo to urobí, ak zavoláte funkciu save bez tretieho parametra. Teraz zničíme premennú Zh, ako by sme to urobili s hocijakým Pylabským objektom, teda príkazom del(zh). Môžete sa presvedčiť cez príkaz who, že už ju nenájdete medzi živými, tj. existujúcimi premennými. Načítame ju ale znova z nášho súboru príkazom Zh_nove=load( gr12_53.txt ) Výsledkom bude číselné pole s 53 riadkami a dvomi stĺpcami; každý riadok jejednahrana.alekeďsidáteniektorýriadokvypísať,zistite,žejehodva prvky sú reálne a nie celé čísla. Našťastie, existuje metóda na pretypovanie celého poľa(volá sa astype) a pomocou nej dostaneme už celočíselné pole hránzh(toisté,akosmemalinazačiatku): 21 22

12 Zh=Zh_nove.astype(int) Akjedátveľa,oplatísauschovávaťichvbinárnomformáte,ktorýje pre ľudí nečitateľný, ale výsledný súbor je menší a načíta sa do počítača nepomerne rýchlejšie, ako textový súbor s ekvivalentným obsahom. Ukážeme si to na náhodnej matici s celočíselnými prvkami, ktorú nagenerujeme príkazmi: import scipy # jednorozm. pole s milion prvkami v rozsahu R=scipy.stats.randint.rvs(1,157,1e6) R.shape=(1000,1000) # premenime ho na maticu 1000x1000 Na vysvetlenie v module scipy.stats je veľa spojitých i diskrétnych rozdelení náhodnej premennej. Každé rozdelenie má ešte rôzne metódy, napr. rvs (random variable samples), tj. generovanie náhodných vzoriek z tohto rozdelenia, pdf hustota pravdepodobnosti, cdf distribučná funkcia, alebo pmf (probability mass function), teda pravdepodobnostná funkcia diskrétneho rozdelenia, atď. My sme využili rovnomerné diskrétne rozdelenie randint pre celé čísla v intervale 1, 157, z ktorého sme urobili náhodný výberový súbor s milión prvkami. Každé číselné pole má metódu tofile, pomocou ktorej ho môžeme binárne zapísať do súboru. V našom prípade urobíme: # otvorime subor s nazvom Rbig.bin na zapisovanie outfile=file("rbig.bin","w") R.tofile(outfile) # zapiseme donho maticu R outfile.close() # zatvorime subor, schluss Textový súbor, ktorý by sme dostali príkazom save("rbig.txt",r,"%i") je síce trocha menší, ako binárny súbor, ale zápis do binárneho súboru je viac ako osemdesiatkrát rýchlejší. Za chvíľu(pri načitávaní) ukážeme, ako sme to merali. Nezabudnite, že súbor, do ktorého zapisujete, treba po skončení zápisu a pred ďalšími manipuláciami s nim(obyčajne čítaním) uzavrieť cez príkaz close, ako sme to urobili povyššie. Inak môže byť neúplný(autor hovorí z vlastnej skúsenosti). Časť dát môže ešte čakať na zápis v pamäťovom bufferi tenmôžemevyprázniťajvolanímmetódyflush,tedavnašomprípadeby to bolo outfile.flush(). Dáta zo vzniknutého binárneho súboru dostaneme cez funkciu fromfile a priradíme ich do novej premennej Rs: Rs=fromfile("Rbig.bin",int) Druhý parameter hovorí, že typ prvkov poľa je celočíselný(iné možné typy sú napr. float, complex, bool, str). Pole, ktoré dostaneme ako výstup z funkcie fromfile je vždy jednorozmerné, ale vieme jeho rozmery ľahko upravovať priradením do atribútu shape, teda z vektora Rs o milión prvkoch dostaneme maticu typu jednoducho príkazom Rs.shape=(1000,1000) # tvar Rs sa zmeni na 1000x1000 Smezvedaví,čipôvodnámaticaRanačítanámaticaRssúrovnaké.Presvedčime sa o tom príkazom all(rs==r) # Vsetky prvky Rs su rovne zodpovedajucim prvkom R? AknámtentopríkazvypíšeTrue,obematicesúrovnaké.Dúfame,žejeto ajuvástak. Akojetosčasomčítaniatextovéhoabinárnehosúboru?Abysmeto zistili, importujeme si z modulu time funkciu time, ktorá meria čas aj na mikrosekundy. Potom si zapíšeme čas pred začiatkom výpočtu. Po jeho skončení vypíšeme na obrazovku rozdiel medzi tým počiatočným a aktuálnym časom: from time import time tb=time(); Rs=fromfile("Rbig.bin",int); time()-tb # sec. tt=time();load("rbig.txt",rt); time()-tt # sec. V komentároch vidíte aktuálne časy, ktoré sme dostali na našom katedrovom serveri(athlon , RAM 2GB). Zasa je čítanie z binárneho súboru nepomerne rýchlejšie(asi 270 krát v tomto prípade). 3 GrafikavPylabe. Grafiku používame dvomi spôsobmi- v dávkovom spracovaní, napr. keď generujeme obrázky pre WEB-server, ktoré my ani neuvidíme, alebo v interaktívnom režime, keď si tie naše obrázky chceme aj prezerať a upravovať

13 Základným príkazom pre jednoduché grafy funkcií a kriviek je príkaz plot.nakreslímesigraffunkcie y=sin(x), x π/2,5π : x=linspace( pi/2,5 pi,120) #hodnoty nezavisle premennej y=sin(x) #funkcne hodnoty v bodoch x plot(x,y) #nakreslenie grafu Na obrazovke sa objaví nové okno, v ktorom bude nakreslený náš graf. Všimnite si v dolnej časti ikony pre interaktívnu prácu s obrázkom. Ikonka domčeka vás vráti k pôvodnému pohľadu, ak ste medzitým urobili nejaký výrez(to sa dá pomocou ikony piatej zľava tá s lupou). Ikona diskety umožňuje uloženie obrázku v niekoľkých formátoch(napr..png,.jpg,.eps). Vyskúšajte si tú interaktívnu prácu najlepšie sami. Ak zvolíte zväčšenie výrezu niekoľkokrát,zistíte,ženášgrafjevlastnelomenáčiara.jeto120bodovvrovine (ich súradnice sú určené vektormi x,y), pospájaných úsečkami. Zatiaľ okno s grafikou neuzavierajte. Vidíte, že na nakreslenie jednoduchého grafu nám stačí niekoľko príkazov. Aktuálne okno s grafikou(current figure v terminológii Pylabu) môžete modifikovať veľa spôsobmi, napr. skúste si: grid(1) # kresli sietku na grafe title( Graf funkcie sin ) # titulok grafu xlabel( Os x ) # popis osi x ylabel( Os y ) # popis osi y Zasa treba zdôrazniť, že hoci v interaktívnom prostredí Pylabu máte všetky príkazy pre grafiku(napr. plot, grid, title, legend) k dispozícii, vo vašich zdrojákoch ich musíte importovať pomocou príkazu importuj všetko z modulupylab,tj.: from pylab import * Príklad 3.1 Znázornime riešenie sústavy rovníc 2x+y =4 x+y =1. Toriešeniejebod P,ktorýjepriesečníkompriamok y 1 =4 2x, y 2 = x+1. Znázornimeichčastiakoúsečky,určenébodmi A 1 =(3, 2), B 1 =(0,4) resp. A 2 =( 1,0), B 2 =(2,3). # do plot u osobitne zadavame # x ove a y ove suradnice bodov plot([3,0],[ 2,4],[ 1,2],[0,3]) # dve usecky grid(true) legend(( y=4 2x, y=x+1 )) t=text(1.05,1.7, P ) title( Solution of system of linear equations ) Vyzerátocelkompekne,lensazdá,žetopísmeno P bymohlobyťtrochu inde(polohu sme vybrali pomocou súradníc, ktoré Pylab ukazuje, keď sa pohybujete kurzorom myši v obrázku). Nie je problém to dodatočne napraviť. SmevPythoneavšetkojeobjekt.Ajnášobrázokjeposkladanýzobjektov. Koncepcia grafiky v Pylabe je založená na tom, že máme obrázkové okná (figures) a v každom z nich môže byť niekoľko súradnicových systémov, ktoré môžeme umiestňovať v obrázku, kam sa nám zachce, aj jeden cez druhý. Grafické objekty(úsečky, body, mnohouholníky, atď.) sa pridávajú vždy do aktuálnych súradnicových osí

14 Aktuálny obrázok a aktuálne súradnicové osi získame príkazmi: fig=gcf() # get current figure axs=gca() # get current axes Keď si chceme nám už dôverne známym spôsobom(napísať axs. a stlačiť TAB)pozrieťmetódyadátaobjektuaxs,vychŕlitonanásokolo230možností. Namiesto písmena P by mohol byť ľubovoľný text, skúsime teda doplniť TABom axs.te. Zistíme, že také objekty v aktuálnych osiach máme dva text, texts. Ten prvý je metóda na pridávanie textu do obrázka na zadanej pozícii, ako zistíme z helpu(teda cez axs.text? alebo?axs.text). Druhý objekt, texts je zoznam, lebo keď ho chceme vypísať cez axs.texts, dostaneme niečo ako [<matplotlib.text.text instance at 0x2aaab6c2f248>]. Ten zoznam má jediný prvok, inštanciu objektu matplotlib.text.text. Takže ten náš text dostaneme ako nultý prvok zoznamu, tj. TP=axs.texts[0]. Potom si zas môžeme pozrieť metódy toho objektu, ktorých je viac ako 100, ale keď sa obmedzíme na metódy, ktoré niečo nastavujú(začínajúce sa na set to je užitočné aj pri iných grafických objektoch), dostaneme po doplnení TAB-om asi toto(niektoré riadky sme vynechali): TP.set_alpha TP.set_backgroundcolor TP.set_bbox TP.set_clip_on TP.set_color TP.set_ma TP.set_name TP.set_position TP.set_size TP.set_style TP.set_family TP.set_text TP.set_ha TP.set_x TP.set_horizontalalignment TP.set_y Je jasné, že pozíciu, na ktorej sa text vypisuje, nastavíme cez set position, teda pozrieme si o nej help, zistíme, že očakáva usporiadanú dvojicu súradníc askúsime TP.set position((1.02,1.62))# trochu dolava a dole. Keď to urobíme, v obrázku sa nič nezmení. Stačí však(myšou) mierne zmeniť rozmery okna s obrázkom, alebo(čo je programátorsky čistejšie), zavolať funkciu draw() na prekreslenie aktuálneho obrázka a zmeny sa prejavia. Toužvyzerácelkomdobre,alechcelibysme,abysatopísmeno P vypisovalo kurzívou(teda nastaviť štýl písma). Môže sa to asi robiť pomocou set fontstyle alebo set style. To druhé je kratšie, skúsime nápovedu a je to ono(povie nám aj že možné štýly sú normal, italic, oblique ). Teda, stačí prikázať TP.set style( italic ); draw() a zmena v štýle písma sa prejaví. Skúste si podobne zmeniť veľkosť písma, jeho typ, ale aj text, ktorý sa vypisuje(namiesto P dajte napr. Solution). Všimnitesitiež,žeobrázok,ktorýmátevtejtoknižkejeasitrochuiný, nežmátevynaobrazovke.jetotým,žesmespracovanietextu,hlavnematematickýchvýrazovzveriliprofesionálnemusádzaciemusystémul A TEX.Pokiaľ stenalinuxeamátenainštalovanýtex,docielisatomaličkouzmenouv horeuvedených príkazoch(uvádzame len nové alebo odlišné riadky) rc( text, usetex=true)... legend((r $y=4 2x$,r $y=x+1$ )) t=text(1.01,1.6,r $P$ )... To,žesmesatakdlhovenovalinejakémubezvýznamnémupísmenku P,nebolo náhodou. Chceli sme na ňom ukázať podstatné veci z filozofie Pylabskej grafiky. To, čo platilo o objektoch typu Text, bude platiť aj o súradnicových osiachadetailochichvykresleniaahlavneočiarachabodoch,zktorýchsa naše grafy budú skladať

Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop 1) Vytvorte algoritmus (vývojový diagram) na výpočet obvodu kruhu. O=2xπxr ; S=πxrxr Vstup r O = 2*π*r S = π*r*r Vystup O, S 2) Vytvorte algoritmus (vývojový diagram) na výpočet celkovej ceny výrobku s

Διαβάστε περισσότερα

Matematika Funkcia viac premenných, Parciálne derivácie

Matematika Funkcia viac premenných, Parciálne derivácie Matematika 2-01 Funkcia viac premenných, Parciálne derivácie Euklidovská metrika na množine R n všetkých usporiadaných n-íc reálnych čísel je reálna funkcia ρ: R n R n R definovaná nasledovne: Ak X = x

Διαβάστε περισσότερα

7. FUNKCIE POJEM FUNKCIE

7. FUNKCIE POJEM FUNKCIE 7. FUNKCIE POJEM FUNKCIE Funkcia f reálnej premennej je : - každé zobrazenie f v množine všetkých reálnych čísel; - množina f všetkých usporiadaných dvojíc[,y] R R pre ktorú platí: ku každému R eistuje

Διαβάστε περισσότερα

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010. 14. decembra 2010 Rie²enie sústav Plocha rovnobeºníka Objem rovnobeºnostena Rie²enie sústav Príklad a 11 x 1 + a 12 x 2 = c 1 a 21 x 1 + a 22 x 2 = c 2 Dostaneme: x 1 = c 1a 22 c 2 a 12 a 11 a 22 a 12

Διαβάστε περισσότερα

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad Matematika 3-13. prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad Erika Škrabul áková F BERG, TU Košice 15. 12. 2015 Erika Škrabul áková (TUKE) Taylorov

Διαβάστε περισσότερα

6 Limita funkcie. 6.1 Myšlienka limity, interval bez bodu

6 Limita funkcie. 6.1 Myšlienka limity, interval bez bodu 6 Limita funkcie 6 Myšlienka ity, interval bez bodu Intuitívna myšlienka ity je prirodzená, ale definovať presne pojem ity je značne obtiažne Nech f je funkcia a nech a je reálne číslo Čo znamená zápis

Διαβάστε περισσότερα

Prechod z 2D do 3D. Martin Florek 3. marca 2009

Prechod z 2D do 3D. Martin Florek 3. marca 2009 Počítačová grafika 2 Prechod z 2D do 3D Martin Florek florek@sccg.sk FMFI UK 3. marca 2009 Prechod z 2D do 3D Čo to znamená? Ako zobraziť? Súradnicové systémy Čo to znamená? Ako zobraziť? tretia súradnica

Διαβάστε περισσότερα

Komplexné čísla, Diskrétna Fourierova transformácia 1

Komplexné čísla, Diskrétna Fourierova transformácia 1 Komplexné čísla, Diskrétna Fourierova transformácia Komplexné čísla C - množina všetkých komplexných čísel komplexné číslo: z = a + bi, kde a, b R, i - imaginárna jednotka i =, t.j. i =. komplexne združené

Διαβάστε περισσότερα

Úvod do lineárnej algebry. Monika Molnárová Prednášky

Úvod do lineárnej algebry. Monika Molnárová Prednášky Úvod do lineárnej algebry Monika Molnárová Prednášky 2006 Prednášky: 3 17 marca 2006 4 24 marca 2006 c RNDr Monika Molnárová, PhD Obsah 2 Sústavy lineárnych rovníc 25 21 Riešenie sústavy lineárnych rovníc

Διαβάστε περισσότερα

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice Goniometrické rovnice a nerovnice Definícia: Rovnice (nerovnice) obsahujúce neznámu x alebo výrazy s neznámou x ako argumenty jednej alebo niekoľkých goniometrických funkcií nazývame goniometrickými rovnicami

Διαβάστε περισσότερα

Obvod a obsah štvoruholníka

Obvod a obsah štvoruholníka Obvod a štvoruholníka D. Štyri body roviny z ktorých žiadne tri nie sú kolineárne (neležia na jednej priamke) tvoria jeden štvoruholník. Tie body (A, B, C, D) sú vrcholy štvoruholníka. strany štvoruholníka

Διαβάστε περισσότερα

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej . Limita, spojitost a diferenciálny počet funkcie jednej premennej Definícia.: Hromadný bod a R množiny A R: v každom jeho okolí leží aspoň jeden bod z množiny A, ktorý je rôzny od bodu a Zadanie množiny

Διαβάστε περισσότερα

ARMA modely čast 2: moving average modely (MA)

ARMA modely čast 2: moving average modely (MA) ARMA modely čast 2: moving average modely (MA) Beáta Stehlíková Časové rady, FMFI UK, 2014/2015 ARMA modely časť 2: moving average modely(ma) p.1/24 V. Moving average proces prvého rádu - MA(1) ARMA modely

Διαβάστε περισσότερα

Cvičenie č. 4,5 Limita funkcie

Cvičenie č. 4,5 Limita funkcie Cvičenie č. 4,5 Limita funkcie Definícia ity Limita funkcie (vlastná vo vlastnom bode) Nech funkcia f je definovaná na nejakom okolí U( ) bodu. Hovoríme, že funkcia f má v bode itu rovnú A, ak ( ε > )(

Διαβάστε περισσότερα

Matematika 2. časť: Analytická geometria

Matematika 2. časť: Analytická geometria Matematika 2 časť: Analytická geometria RNDr. Jana Pócsová, PhD. Ústav riadenia a informatizácie výrobných procesov Fakulta BERG Technická univerzita v Košiciach e-mail: jana.pocsova@tuke.sk Súradnicové

Διαβάστε περισσότερα

Moderné vzdelávanie pre vedomostnú spoločnosť Projekt je spolufinancovaný zo zdrojov EÚ M A T E M A T I K A

Moderné vzdelávanie pre vedomostnú spoločnosť Projekt je spolufinancovaný zo zdrojov EÚ M A T E M A T I K A M A T E M A T I K A PRACOVNÝ ZOŠIT II. ROČNÍK Mgr. Agnesa Balážová Obchodná akadémia, Akademika Hronca 8, Rožňava PRACOVNÝ LIST 1 Urč typ kvadratickej rovnice : 1. x 2 3x = 0... 2. 3x 2 = - 2... 3. -4x

Διαβάστε περισσότερα

x x x2 n

x x x2 n Reálne symetrické matice Skalárny súčin v R n. Pripomeniem, že pre vektory u = u, u, u, v = v, v, v R platí. dĺžka vektora u je u = u + u + u,. ak sú oba vektory nenulové a zvierajú neorientovaný uhol

Διαβάστε περισσότερα

Ekvačná a kvantifikačná logika

Ekvačná a kvantifikačná logika a kvantifikačná 3. prednáška (6. 10. 004) Prehľad 1 1 (dokončenie) ekvačných tabliel Formula A je ekvačne dokázateľná z množiny axióm T (T i A) práve vtedy, keď existuje uzavreté tablo pre cieľ A ekvačných

Διαβάστε περισσότερα

MIDTERM (A) riešenia a bodovanie

MIDTERM (A) riešenia a bodovanie MIDTERM (A) riešenia a bodovanie 1. (7b) Nech vzhl adom na štandardnú karteziánsku sústavu súradníc S 1 := O, e 1, e 2 majú bod P a vektory u, v súradnice P = [0, 1], u = e 1, v = 2 e 2. Aký predpis bude

Διαβάστε περισσότερα

ARMA modely čast 2: moving average modely (MA)

ARMA modely čast 2: moving average modely (MA) ARMA modely čast 2: moving average modely (MA) Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 ARMA modely časť 2: moving average modely(ma) p.1/25 V. Moving average proces prvého rádu - MA(1) ARMA modely

Διαβάστε περισσότερα

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2012/2013 Jednotkový koreň(unit root),diferencovanie časového radu, unit root testy p.1/18

Διαβάστε περισσότερα

Chí kvadrát test dobrej zhody. Metódy riešenia úloh z pravdepodobnosti a štatistiky

Chí kvadrát test dobrej zhody. Metódy riešenia úloh z pravdepodobnosti a štatistiky Chí kvadrát test dobrej zhody Metódy riešenia úloh z pravdepodobnosti a štatistiky www.iam.fmph.uniba.sk/institute/stehlikova Test dobrej zhody I. Chceme overiť, či naše dáta pochádzajú z konkrétneho pravdep.

Διαβάστε περισσότερα

Úprava textu. Použitie schránky: Hlavička a Päta: Poznámka pod čiarou: Modul č.3 WORD pre pokročilých

Úprava textu. Použitie schránky: Hlavička a Päta: Poznámka pod čiarou: Modul č.3 WORD pre pokročilých Úprava textu Použitie schránky: Pomocou schránky je možné prenášať objekty (texty, obrázky, tabuľky...) medzi rôznymi aplikáciami. Pri prenosoch sa používajú nasledovné klávesy: CTRL/ C kopírovanie CTRL/

Διαβάστε περισσότερα

Úvod do lineárnej algebry

Úvod do lineárnej algebry Katedra matematiky Fakulta elektrotechniky a informatiky Technická Univerzita v Košiciach Úvod do lineárnej algebry Monika Molnárová, Helena Myšková 005 RECENZOVALI: RNDr. Štefan Schrötter, CSc. RNDr.

Διαβάστε περισσότερα

PRIEMER DROTU d = 0,4-6,3 mm

PRIEMER DROTU d = 0,4-6,3 mm PRUŽINY PRUŽINY SKRUTNÉ PRUŽINY VIAC AKO 200 RUHOV SKRUTNÝCH PRUŽÍN PRIEMER ROTU d = 0,4-6,3 mm èíslo 3.0 22.8.2008 8:28:57 22.8.2008 8:28:58 PRUŽINY SKRUTNÉ PRUŽINY TECHNICKÉ PARAMETRE h d L S Legenda

Διαβάστε περισσότερα

VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR. Michal Zajac. 3 T b 1 = T b 2 = = = 2b

VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR. Michal Zajac. 3 T b 1 = T b 2 = = = 2b VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR Michal Zajac Vlastné čísla a vlastné vektory Pripomeňme najprv, že lineárny operátor T : L L je vzhl adom na bázu B = {b 1, b 2,, b n } lineárneho priestoru L určený

Διαβάστε περισσότερα

AerobTec Altis Micro

AerobTec Altis Micro AerobTec Altis Micro Záznamový / súťažný výškomer s telemetriou Výrobca: AerobTec, s.r.o. Pionierska 15 831 02 Bratislava www.aerobtec.com info@aerobtec.com Obsah 1.Vlastnosti... 3 2.Úvod... 3 3.Princíp

Διαβάστε περισσότερα

1. písomná práca z matematiky Skupina A

1. písomná práca z matematiky Skupina A 1. písomná práca z matematiky Skupina A 1. Vypočítajte : a) 84º 56 + 32º 38 = b) 140º 53º 24 = c) 55º 12 : 2 = 2. Vypočítajte zvyšné uhly na obrázku : β γ α = 35 12 δ a b 3. Znázornite na číselnej osi

Διαβάστε περισσότερα

Numerické metódy matematiky I

Numerické metódy matematiky I Prednáška č. 7 Numerické metódy matematiky I Riešenie sústav lineárnych rovníc ( pokračovanie ) Prednáška č. 7 OBSAH 1. Metóda singulárneho rozkladu (SVD) Úvod SVD štvorcovej matice SVD pre menej rovníc

Διαβάστε περισσότερα

Cieľom cvičenia je zvládnuť riešenie diferenciálnych rovníc pomocou Laplaceovej transformácie,

Cieľom cvičenia je zvládnuť riešenie diferenciálnych rovníc pomocou Laplaceovej transformácie, Kapitola Riešenie diferenciálnych rovníc pomocou Laplaceovej tranformácie Cieľom cvičenia je zvládnuť riešenie diferenciálnych rovníc pomocou Laplaceovej tranformácie, keď charakteritická rovnica má rôzne

Διαβάστε περισσότερα

Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich

Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich Tuesday 15 th January, 2013, 19:53 Základy tenzorového počtu M.Gintner Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich násobenie reálnym číslom tak, že platí:

Διαβάστε περισσότερα

Derivácia funkcie. Pravidlá derivovania výrazov obsahujúcich operácie. Derivácie elementárnych funkcií

Derivácia funkcie. Pravidlá derivovania výrazov obsahujúcich operácie. Derivácie elementárnych funkcií Derivácia funkcie Derivácia funkcie je jeden z najužitočnejších nástrojov, ktoré používame v matematike a jej aplikáciách v ďalších odboroch. Stručne zhrnieme základné informácie o deriváciách. Podrobnejšie

Διαβάστε περισσότερα

Tomáš Madaras Prvočísla

Tomáš Madaras Prvočísla Prvočísla Tomáš Madaras 2011 Definícia Nech a Z. Čísla 1, 1, a, a sa nazývajú triviálne delitele čísla a. Cele číslo a / {0, 1, 1} sa nazýva prvočíslo, ak má iba triviálne delitele; ak má aj iné delitele,

Διαβάστε περισσότερα

Pevné ložiská. Voľné ložiská

Pevné ložiská. Voľné ložiská SUPPORTS D EXTREMITES DE PRECISION - SUPPORT UNIT FOR BALLSCREWS LOŽISKA PRE GULIČKOVÉ SKRUTKY A TRAPÉZOVÉ SKRUTKY Výber správnej podpory konca uličkovej skrutky či trapézovej skrutky je dôležité pre správnu

Διαβάστε περισσότερα

Integrovanie racionálnych funkcií

Integrovanie racionálnych funkcií Integrovanie racionálnych funkcií Tomáš Madaras 2009-20 Z teórie funkcií už vieme, že každá racionálna funkcia (t.j. podiel dvoch polynomických funkcií) sa dá zapísať ako súčet polynomickej funkcie a funkcie

Διαβάστε περισσότερα

Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus

Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus 1. prednáška Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus Matematickým základom kvantovej mechaniky je teória Hilbertových

Διαβάστε περισσότερα

Numerické metódy Zbierka úloh

Numerické metódy Zbierka úloh Blanka Baculíková Ivan Daňo Numerické metódy Zbierka úloh Strana 1 z 37 Predhovor 3 1 Nelineárne rovnice 4 2 Sústavy lineárnych rovníc 7 3 Sústavy nelineárnych rovníc 1 4 Interpolačné polynómy 14 5 Aproximácia

Διαβάστε περισσότερα

Gramatická indukcia a jej využitie

Gramatická indukcia a jej využitie a jej využitie KAI FMFI UK 29. Marec 2010 a jej využitie Prehľad Teória formálnych jazykov 1 Teória formálnych jazykov 2 3 a jej využitie Na počiatku bolo slovo. A slovo... a jej využitie Definícia (Slovo)

Διαβάστε περισσότερα

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017 Kompilátory Cvičenie 6: LLVM Peter Kostolányi 21. novembra 2017 LLVM V podstate sada nástrojov pre tvorbu kompilátorov LLVM V podstate sada nástrojov pre tvorbu kompilátorov Pôvodne Low Level Virtual Machine

Διαβάστε περισσότερα

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou M6: Model Hydraulický ytém dvoch záobníkov kvapaliny interakciou Úlohy:. Zotavte matematický popi modelu Hydraulický ytém. Vytvorte imulačný model v jazyku: a. Matlab b. imulink 3. Linearizujte nelineárny

Διαβάστε περισσότερα

Funkcie - základné pojmy

Funkcie - základné pojmy Funkcie - základné pojmy DEFINÍCIA FUNKCIE Nech A, B sú dve neprázdne číselné množiny. Ak každému prvku x A je priradený najviac jeden prvok y B, tak hovoríme, že je daná funkcia z množiny A do množiny

Διαβάστε περισσότερα

Metódy vol nej optimalizácie

Metódy vol nej optimalizácie Metódy vol nej optimalizácie Metódy vol nej optimalizácie p. 1/28 Motivácia k metódam vol nej optimalizácie APLIKÁCIE p. 2/28 II 1. PRÍKLAD: Lineárna regresia - metóda najmenších štvorcov Na základe dostupných

Διαβάστε περισσότερα

1 Úvod Predhovor Sylaby a literatúra Základné označenia... 3

1 Úvod Predhovor Sylaby a literatúra Základné označenia... 3 Obsah 1 Úvod 3 1.1 Predhovor...................................... 3 1.2 Sylaby a literatúra................................. 3 1.3 Základné označenia................................. 3 2 Množiny a zobrazenia

Διαβάστε περισσότερα

Obsah. 1.1 Reálne čísla a ich základné vlastnosti... 7 1.1.1 Komplexné čísla... 8

Obsah. 1.1 Reálne čísla a ich základné vlastnosti... 7 1.1.1 Komplexné čísla... 8 Obsah 1 Číselné obory 7 1.1 Reálne čísla a ich základné vlastnosti............................ 7 1.1.1 Komplexné čísla................................... 8 1.2 Číselné množiny.......................................

Διαβάστε περισσότερα

Tutoriál3 : Využitie grafických možností jazyka Matlab

Tutoriál3 : Využitie grafických možností jazyka Matlab NÁPLŇ 1. ÚVOD DO PRÁCE S GRAFIKOU 2. 2D GRAFIKA 3. 3D GRAFIKA 4. PRÍKLADY NA SAMOSTATNÉ RIEŠENIE 1 Matlab ponúka rýchlu a kvalitnú reprezentáciu funkcií vo forme grafov. Disponuje pokročilou grafikou v

Διαβάστε περισσότερα

1 Polynómy a racionálne funkcie Základy Polynómy Cvičenia Racionálne funkcie... 17

1 Polynómy a racionálne funkcie Základy Polynómy Cvičenia Racionálne funkcie... 17 Obsah 1 Polynómy a racionálne funkcie 3 11 Základy 3 1 Polynómy 7 11 Cvičenia 13 13 Racionálne funkcie 17 131 Cvičenia 19 Lineárna algebra 3 1 Matice 3 11 Matice - základné vlastnosti 3 1 Cvičenia 6 Sústavy

Διαβάστε περισσότερα

Goniometrické substitúcie

Goniometrické substitúcie Goniometrické substitúcie Marta Kossaczká S goniometrickými funkciami ste sa už určite stretli, pravdepodobne predovšetkým v geometrii. Ich použitie tam ale zďaleka nekončí. Nazačiatoksizhrňme,čoonichvieme.Funkciesínusakosínussadajúdefinovať

Διαβάστε περισσότερα

Vzorové príklady s riešeniami k lineárnej algebre a geometrie pre aplikovaných informatikov k písomke

Vzorové príklady s riešeniami k lineárnej algebre a geometrie pre aplikovaných informatikov k písomke Vzorové príklady s riešeniami k lineárnej algebre a geometrie pre aplikovaných informatikov k písomke 23.5.26 Príklad č. Riešte sústavu Bx = r (B r) 2 3 4 2 3 4 6 8 8 2 (B r) = 6 9 2 6 3 9 2 3 4 2 3 2

Διαβάστε περισσότερα

BALTÍK PRE MIERNE POKROČILÝCH. Zuzana Krištofová Eva Uličná

BALTÍK PRE MIERNE POKROČILÝCH. Zuzana Krištofová Eva Uličná BALTÍK PRE MIERNE POKROČILÝCH Zuzana Krištofová Eva Uličná Bratislava 2014 OBSAH ÚVOD 3 1 NÁHODNÉ ČÍSLO 4 2 JEDNODUCHÝ PODMIENENÝ PRÍKAZ 5 3 ÚPLNÝ PODMIENENÝ PRÍKAZ 8 4 VNORENÁ PODMIENKA 11 5 OVLÁDANIE

Διαβάστε περισσότερα

MATEMATIKA I. Doc. RNDr. Michal Šabo, CSc

MATEMATIKA I. Doc. RNDr. Michal Šabo, CSc MATEMATIKA I Doc. RNDr. Michal Šabo, CSc 2 Obsah Predhovor 5 2 VYBRANÉ STATE Z ALGEBRY 2. Úvod................................... 2.2 Reálne n-rozmerné vektory...................... 2.3 Matice..................................

Διαβάστε περισσότερα

Motivácia pojmu derivácia

Motivácia pojmu derivácia Derivácia funkcie Motivácia pojmu derivácia Zaujíma nás priemerná intenzita zmeny nejakej veličiny (dráhy, rastu populácie, veľkosti elektrického náboja, hmotnosti), vzhľadom na inú veličinu (čas, dĺžka)

Διαβάστε περισσότερα

p(α 1 ) = u 1. p(α n ) = u n. Definícia (modulárna reprezentácia polynómu). Zobrazenie

p(α 1 ) = u 1. p(α n ) = u n. Definícia (modulárna reprezentácia polynómu). Zobrazenie 1. Rychlá Fourierová transformácia Budeme značiť teleso T a ω jeho prvok. Veta 1.1 (o interpolácií). Nech α 0, α 1,..., α n sú po dvoch rôzne prvky telesa T[x]. Potom pre každé u 0, u 1,..., u n T existuje

Διαβάστε περισσότερα

Návrh vzduchotesnosti pre detaily napojení

Návrh vzduchotesnosti pre detaily napojení Výpočet lineárneho stratového súčiniteľa tepelného mosta vzťahujúceho sa k vonkajším rozmerom: Ψ e podľa STN EN ISO 10211 Návrh vzduchotesnosti pre detaily napojení Objednávateľ: Ing. Natália Voltmannová

Διαβάστε περισσότερα

Definícia parciálna derivácia funkcie podľa premennej x. Definícia parciálna derivácia funkcie podľa premennej y. Ak existuje limita.

Definícia parciálna derivácia funkcie podľa premennej x. Definícia parciálna derivácia funkcie podľa premennej y. Ak existuje limita. Teória prednáška č. 9 Deinícia parciálna deriácia nkcie podľa premennej Nech nkcia Ak eistje limita je deinoaná okolí bod [ ] lim. tak túto limit nazýame parciálno deriácio nkcie podľa premennej bode [

Διαβάστε περισσότερα

KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia

KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia Škola pre Mimoriadne Nadané Deti a Gymnázium, Teplická 7, 831 02 Bratislava Anino BELAN KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia 2. vydanie BRATISLAVA 2003 2011 Copyright 2011,

Διαβάστε περισσότερα

Spojité rozdelenia pravdepodobnosti. Pomôcka k predmetu PaŠ. RNDr. Aleš Kozubík, PhD. 26. marca Domovská stránka. Titulná strana.

Spojité rozdelenia pravdepodobnosti. Pomôcka k predmetu PaŠ. RNDr. Aleš Kozubík, PhD. 26. marca Domovská stránka. Titulná strana. Spojité rozdelenia pravdepodobnosti Pomôcka k predmetu PaŠ Strana z 7 RNDr. Aleš Kozubík, PhD. 6. marca 3 Zoznam obrázkov Rovnomerné rozdelenie Ro (a, b). Definícia.........................................

Διαβάστε περισσότερα

1. Komplexné čísla. Doteraz ste pracovali s číslami, ktoré pochádzali z nasledovných množín:

1. Komplexné čísla. Doteraz ste pracovali s číslami, ktoré pochádzali z nasledovných množín: 1. Komplexné čísla Po preštudovaní danej kapitoly by ste mali byť shopní: poznať použitie a význam komplexnýh čísel v elektrikýh obvodoh rozumieť pojmom reálna a imaginárna časť, imaginárna jednotka, veľkosť,

Διαβάστε περισσότερα

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA CHEMICKEJ A POTRAVINÁRSKEJ TECHNOLÓGIE Ústav informatizácie, automatizácie a matematiky

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA CHEMICKEJ A POTRAVINÁRSKEJ TECHNOLÓGIE Ústav informatizácie, automatizácie a matematiky SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA CHEMICKEJ A POTRAVINÁRSKEJ TECHNOLÓGIE Ústav informatizácie, automatizácie a matematiky Semestrálny projekt E-learning: Proseminár z matematiky a Matematika

Διαβάστε περισσότερα

15. Matlab Lineárna algebra

15. Matlab Lineárna algebra 1 Portál pre odborné publikovanie ISSN 1338-0087 15. Matlab Lineárna algebra Blaho Michal MATLAB/Comsol 18.09.2009 Matlab pracuje s dátami vo forme vektorov a matíc. Základnej práci s vektormi a maticami

Διαβάστε περισσότερα

Riešenie rovníc s aplikáciou na elektrické obvody

Riešenie rovníc s aplikáciou na elektrické obvody Zadanie č.1 Riešenie rovníc s aplikáciou na elektrické obvody Nasledujúce uvedené poznatky z oblasti riešenia elektrických obvodov pomocou metódy slučkových prúdov a uzlových napätí je potrebné využiť

Διαβάστε περισσότερα

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti 4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti Výroková funkcia (forma) ϕ ( x) je formálny výraz (formula), ktorý obsahuje znak x, pričom x berieme z nejakej množiny M. Ak za x zvolíme

Διαβάστε περισσότερα

24. Základné spôsoby zobrazovania priestoru do roviny

24. Základné spôsoby zobrazovania priestoru do roviny 24. Základné spôsoby zobrazovania priestoru do roviny Voľné rovnobežné premietanie Presné metódy zobrazenia trojrozmerného priestoru do dvojrozmernej roviny skúma samostatná matematická disciplína, ktorá

Διαβάστε περισσότερα

Súčtové vzorce. cos (α + β) = cos α.cos β sin α.sin β cos (α β) = cos α.cos β + sin α.sin β. tg (α β) = cotg (α β) =.

Súčtové vzorce. cos (α + β) = cos α.cos β sin α.sin β cos (α β) = cos α.cos β + sin α.sin β. tg (α β) = cotg (α β) =. Súčtové vzorce Súčtové vzorce sú goniometrické hodnoty súčtov a rozdielov dvoch uhlov Sem patria aj goniometrické hodnoty dvojnásobného a polovičného uhla a pridám aj súčet a rozdiel goniometrických funkcií

Διαβάστε περισσότερα

Ján Buša Štefan Schrötter

Ján Buša Štefan Schrötter Ján Buša Štefan Schrötter 1 KOMPLEXNÉ ČÍSLA 1 1.1 Pojem komplexného čísla Väčšine z nás je známe, že druhá mocnina ľubovoľného reálneho čísla nemôže byť záporná (ináč povedané: pre každé x R je x 0). Ako

Διαβάστε περισσότερα

Numerické metódy Učebný text pre bakalárske štúdium

Numerické metódy Učebný text pre bakalárske štúdium Imrich Pokorný Numerické metódy Učebný text pre bakalárske štúdium Strana 1 z 48 1 Nepresnosť numerického riešenia úloh 4 1.1 Zdroje chýb a ich klasifikácia................... 4 1.2 Základné pojmy odhadu

Διαβάστε περισσότερα

Zložené funkcie a substitúcia

Zložené funkcie a substitúcia 3. kapitola Zložené funkcie a substitúcia Doteraz sme sa pri funkciách stretli len so závislosťami medzi dvoma premennými. Napríklad vzťah y=x 2 nám hovoril, ako závisí premenná y od premennej x. V praxi

Διαβάστε περισσότερα

Riešenie sústavy lineárnych rovníc. Priame metódy.

Riešenie sústavy lineárnych rovníc. Priame metódy. Riešenie sústavy lineárnych rovníc. Priame metódy. Ing. Gabriel Okša, CSc. Matematický ústav Slovenská akadémia vied Bratislava Stavebná fakulta STU G. Okša: Priame metódy 1/16 Obsah 1 Základy 2 Systémy

Διαβάστε περισσότερα

KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia

KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia Škola pre Mimoriadne Nadané Deti a Gymnázium, Teplická 7, 831 02 Bratislava Mgr. Anino BELAN KURZ JAZYKA C učebný text pre kvartu a kvintu osemročného gymnázia BRATISLAVA 2003 1 2 Obsah Úvod...4 Totálny

Διαβάστε περισσότερα

Technická univerzita v Košiciach. Zbierka riešených a neriešených úloh. z matematiky. pre uchádzačov o štúdium na TU v Košiciach

Technická univerzita v Košiciach. Zbierka riešených a neriešených úloh. z matematiky. pre uchádzačov o štúdium na TU v Košiciach Technická univerzita v Košiciach Zbierka riešených a neriešených úloh z matematiky pre uchádzačov o štúdium na TU v Košiciach Martin Bača Ján Buša Andrea Feňovčíková Zuzana Kimáková Denisa Olekšáková Štefan

Διαβάστε περισσότερα

ALGEBRA. Číselné množiny a operácie s nimi. Úprava algebrických výrazov

ALGEBRA. Číselné množiny a operácie s nimi. Úprava algebrických výrazov ALGEBRA Číselné množiny a operácie s nimi. Úprava algebrických výrazov Definícia Množinu považujeme za určenú, ak vieme o ľubovoľnom objekte rozhodnúť, či je alebo nie je prvkom množiny. Množinu určujeme

Διαβάστε περισσότερα

Deliteľnosť a znaky deliteľnosti

Deliteľnosť a znaky deliteľnosti Deliteľnosť a znaky deliteľnosti Medzi základné pojmy v aritmetike celých čísel patrí aj pojem deliteľnosť. Najprv si povieme, čo znamená, že celé číslo a delí celé číslo b a ako to zapisujeme. Nech a

Διαβάστε περισσότερα

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY Strojnícka fakulta, Žilinská Univerzita

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY Strojnícka fakulta, Žilinská Univerzita 132 1 Absolútna chyba: ) = - skut absolútna ochýlka: ) ' = - spr. relatívna chyba: alebo Chyby (ochýlky): M systematické, M náhoné, M hrubé. Korekcia: k = spr - = - Î' pomerná korekcia: Správna honota:

Διαβάστε περισσότερα

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava Priamkové plochy Priamkové plochy Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava Priamkové plochy rozdeľujeme na: Rozvinuteľné

Διαβάστε περισσότερα

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S PROUKTOVÝ LIST HKL SLIM č. sklad. karty / obj. číslo: HSLIM112V, HSLIM123V, HSLIM136V HSLIM112Z, HSLIM123Z, HSLIM136Z HSLIM112S, HSLIM123S, HSLIM136S fakturačný názov výrobku: HKL SLIMv 1,2kW HKL SLIMv

Διαβάστε περισσότερα

Numerické metódy, pravdepodobnosť a matematická štatistika. Ján BUŠA Viktor PIRČ Štefan SCHRÖTTER

Numerické metódy, pravdepodobnosť a matematická štatistika. Ján BUŠA Viktor PIRČ Štefan SCHRÖTTER Numerické metódy, pravdepodobnosť a matematická štatistika Ján BUŠA Viktor PIRČ Štefan SCHRÖTTER Košice 2006 RECENZOVALI: Prof. RNDr. Jozef Doboš, CSc. Doc. RNDr. Vladimír Penjak, CSc. Prvé vydanie Za

Διαβάστε περισσότερα

Numerické metódy, pravdepodobnosť a matematická štatistika

Numerické metódy, pravdepodobnosť a matematická štatistika Numerické metódy, pravdepodobnosť a matematická štatistika Ján BUŠA Viktor PIRČ Štefan SCHRÖTTER Strana 1 z 262 Košice 2006 RECENZOVALI: Prof. RNDr. Jozef Doboš, CSc. Doc. RNDr. Vladimír Penjak, CSc. Strana

Διαβάστε περισσότερα

Úvod 2 Predhovor... 2 Sylaby a literatúra... 2 Označenia... 2

Úvod 2 Predhovor... 2 Sylaby a literatúra... 2 Označenia... 2 Obsah Úvod Predhovor Sylaby a literatúra Označenia Euklidovské vektorové priestory 3 Skalárny súčin 3 Gram-Schmidtov ortogonalizačný proces 8 Kvadratické formy 6 Definícia a základné vlastnosti 6 Kanonický

Διαβάστε περισσότερα

,Zohrievanie vody indukčným varičom bez pokrievky,

,Zohrievanie vody indukčným varičom bez pokrievky, Farba skupiny: zelená Označenie úlohy:,zohrievanie vody indukčným varičom bez pokrievky, Úloha: Zistiť, ako závisí účinnosť zohrievania vody na indukčnom variči od priemeru použitého hrnca. Hypotéza: Účinnosť

Διαβάστε περισσότερα

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2013/2014 Jednotkový koreň(unit root),diferencovanie časového radu, unit root testy p.1/27

Διαβάστε περισσότερα

Matematika 2. časť: Funkcia viac premenných Letný semester 2013/2014

Matematika 2. časť: Funkcia viac premenných Letný semester 2013/2014 Matematika 2 časť: Funkcia viac premenných Letný semester 2013/2014 RNDr. Jana Pócsová, PhD. Ústav riadenia a informatizácie výrobných procesov Fakulta BERG Technická univerzita v Košiciach e-mail: jana.pocsova@tuke.sk

Διαβάστε περισσότερα

Goniometrické funkcie

Goniometrické funkcie Goniometrické funkcie Oblúková miera Goniometrické funkcie sú funkcie, ktoré sa používajú pri meraní uhlov (Goniometria Meranie Uhla). Pri týchto funkciách sa uvažuje o veľkostiach uhlov udaných v oblúkovej

Διαβάστε περισσότερα

Reprezentácia informácií v počítači

Reprezentácia informácií v počítači Úvod do programovania a sietí Reprezentácia informácií v počítači Ing. Branislav Sobota, PhD. 2007 Informácia slovo s mnohými významami, ktoré závisia na kontexte predpis blízky pojmom význam poznatok

Διαβάστε περισσότερα

Numerická lineárna algebra. Zobrazenie

Numerická lineárna algebra. Zobrazenie Numerická lineárna algebra. Zobrazenie reálnych čísiel v počítači Ing. Gabriel Okša, CSc. Matematický ústav Slovenská akadémia vied Bratislava Stavebná fakulta STU G. Okša: Reálne čísla v počítači 1/16

Διαβάστε περισσότερα

Hľadanie, skúmanie a hodnotenie súvislosti medzi znakmi

Hľadanie, skúmanie a hodnotenie súvislosti medzi znakmi Hľadanie, skúmanie a hodnotenie súvislosti medzi znakmi Typy súvislostí javov a vecí: nepodstatné - vonkajšia súvislosť nevyplýva z vnútornej potreby (javy spoločne vznikajú, majú zhodný priebeh, alebo

Διαβάστε περισσότερα

FUNKCIE N REÁLNYCH PREMENNÝCH

FUNKCIE N REÁLNYCH PREMENNÝCH FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITY KOMENSKÉHO V BRATISLAVE FUNKCIE N REÁLNYCH PREMENNÝCH RNDr. Kristína Rostás, PhD. PREDMET: Matematická analýza ) 2010/2011 1. DEFINÍCIA REÁLNEJ FUNKCIE

Διαβάστε περισσότερα

3. Striedavé prúdy. Sínusoida

3. Striedavé prúdy. Sínusoida . Striedavé prúdy VZNIK: Striedavý elektrický prúd prechádza obvodom, ktorý je pripojený na zdroj striedavého napätia. Striedavé napätie vyrába synchrónny generátor, kde na koncoch rotorového vinutia sa

Διαβάστε περισσότερα

MATEMATIKA I ZBIERKA ÚLOH

MATEMATIKA I ZBIERKA ÚLOH TECHNICKÁ UNIVERZITA V KOŠICIACH STAVEBNÁ FAKULTA ÚSTAV TECHNOLÓGIÍ, EKONOMIKY A MANAŽMENTU V STAVEBNÍCTVE KATEDRA APLIKOVANEJ MATEMATIKY RNDr. Pavol PURCZ, PhD. Mgr. Adriana ŠUGÁROVÁ MATEMATIKA I ZBIERKA

Διαβάστε περισσότερα

PageRank algoritmus. Univerzita Komenského v Bratislave Fakulta Matematiky, Fyziky a Informatiky

PageRank algoritmus. Univerzita Komenského v Bratislave Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského v Bratislave Fakulta Matematiky, Fyziky a Informatiky PageRank algoritmus Bakalárska práca Študijný program: Informatika Študijný odbor: 9.2.1 Informatika Školiace pracovisko: Katedra

Διαβάστε περισσότερα

Analýza údajov. W bozóny.

Analýza údajov. W bozóny. Analýza údajov W bozóny http://www.physicsmasterclasses.org/index.php 1 Identifikácia častíc https://kjende.web.cern.ch/kjende/sl/wpath_teilchenid1.htm 2 Identifikácia častíc Cvičenie 1 Na web stránke

Διαβάστε περισσότερα

Prirodzené čísla. Kardinálne čísla

Prirodzené čísla. Kardinálne čísla Prirodzené čísla Doteraz sme sa vždy uspokojili s tým, že sme pod množinou prirodzených čísel rozumeli množinu N = { 1, 2,3, 4,5, 6, 7,8,9,10,11,12, } Túto množinu sme chápali intuitívne a presne sme ju

Διαβάστε περισσότερα

Derive vo vyučovaní matematiky

Derive vo vyučovaní matematiky Moderné vzdelávanie pre vedomostnú spoločnosť / Projekt je spolufinancovaný zo zdrojov EÚ PaedDr. Jana Kontuľová Derive vo vyučovaní matematiky Osvedčená pedagogická skúsenosť edukačnej praxe Prešov 2012

Διαβάστε περισσότερα

Základy metodológie vedy I. 9. prednáška

Základy metodológie vedy I. 9. prednáška Základy metodológie vedy I. 9. prednáška Triedenie dát: Triedny znak - x i Absolútna početnosť n i (súčet všetkých absolútnych početností sa rovná rozsahu súboru n) ni fi = Relatívna početnosť fi n (relatívna

Διαβάστε περισσότερα

Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti rozvodu tepla

Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti rozvodu tepla Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti príloha č. 7 k vyhláške č. 428/2010 Názov prevádzkovateľa verejného : Spravbytkomfort a.s. Prešov Adresa: IČO: Volgogradská 88, 080 01 Prešov 31718523

Διαβάστε περισσότερα

Riešenie úloh v simulačnom jazyku MATLAB s využitím skriptov a funkcií

Riešenie úloh v simulačnom jazyku MATLAB s využitím skriptov a funkcií Riešenie úloh vsimulačnom využitím skriptov s.m, ktorý slúži na ukladanie postupnosti, alebo na ukladanie užívateľských funkcií. Využívajú sa predovšetkým vtedy, keď je potrebné zadať väčšie množstvo príkazov,

Διαβάστε περισσότερα

2 Chyby a neistoty merania, zápis výsledku merania

2 Chyby a neistoty merania, zápis výsledku merania 2 Chyby a neistoty merania, zápis výsledku merania Akej chyby sa môžeme dopustiť pri meraní na stopkách? Ako určíme ich presnosť? Základné pojmy: chyba merania, hrubé chyby, systematické chyby, náhodné

Διαβάστε περισσότερα

Lineárne kódy. Ján Karabáš. Kódovanie ZS 13/14 KM FPV UMB. J. Karabáš (FPV UMB) Lineárne kódy Kodo ZS 13/14 1 / 19

Lineárne kódy. Ján Karabáš. Kódovanie ZS 13/14 KM FPV UMB. J. Karabáš (FPV UMB) Lineárne kódy Kodo ZS 13/14 1 / 19 Lineárne kódy Ján Karabáš KM FPV UMB Kódovanie ZS 13/14 J. Karabáš (FPV UMB) Lineárne kódy Kodo ZS 13/14 1 / 19 Algebraické štruktúry Grupy Grupa je algebraická štruktúra G = (G;, 1, e), spolu s binárnou

Διαβάστε περισσότερα

Podnikateľ 90 Mobilný telefón Cena 95 % 50 % 25 %

Podnikateľ 90 Mobilný telefón Cena 95 % 50 % 25 % Podnikateľ 90 Samsung S5230 Samsung C3530 Nokia C5 Samsung Shark Slider S3550 Samsung Xcover 271 T-Mobile Pulse Mini Sony Ericsson ZYLO Sony Ericsson Cedar LG GM360 Viewty Snap Nokia C3 Sony Ericsson ZYLO

Διαβάστε περισσότερα

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin 2. prednáška Teória množín I množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin Verzia: 27. 9. 2009 Priesvtika: 1 Definícia množiny Koncepcia množiny patrí medzi

Διαβάστε περισσότερα

Príklady na precvičovanie Fourierove rady

Príklady na precvičovanie Fourierove rady Príklady na precvičovanie Fourierove rady Ďalším významným typom funkcionálnych radov sú trigonometrické rady, pri ktorých sú jednotlivé členy trigonometrickými funkciami. Konkrétne, jedná sa o rady tvaru

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π.

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB. Κολοβού Αθανασία Ε.Τ.Ε.Π. ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB Κολοβού Αθανασία Ε.Τ.Ε.Π. http://users.uoa.gr/~akolovou/ MATRIX LABORATORY Μαθηματικό λογισμικό πακέτο Everything is a matrix Εύκολο να ορίσουμε τους πίνακες >> A = [6 3; 5 0] A = 6

Διαβάστε περισσότερα