python_programski jezik napredni

Download Python_programski Jezik Napredni

Post on 13-Apr-2016

73 views

Category:

Documents

9 download

Embed Size (px)

DESCRIPTION

Programiranje u pytonu napredi opis

TRANSCRIPT

  • P Y T H O N U R A C U N A R S K O M I N E N J E R S T V U

    stefan ivic , bojan crnkovic , jerko kific i marko cavrak

    Numericke metode, priprema, obrada i vizualizacija podataka

    14. sijecnja 2015. v0.1

  • Stefan Ivic, Bojan Crnkovic, Jerko kific i Marko Cavrak: Python u racunar-skom inenjerstvu, Numericke metode, priprema, obrada i vizualizacija po-dataka, c 14. sijecnja 2015.

  • S A D R A J

    I osnove pythona 11 uvod 3

    1.1 Instalacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Instalacija na Linux platformi . . . . . . . . . . . . . . . . . . . . 31.1.2 Instalacija na Windows platformi . . . . . . . . . . . . . . . . . . 3

    1.2 Dodatni paketi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.1 Dodatni paketi na Linux platformi . . . . . . . . . . . . . . . . . . 41.2.2 Dodatni paketi na Windows platformi . . . . . . . . . . . . . . . . 41.2.3 Instalacija pomocu upravitelja paketa . . . . . . . . . . . . . . . . . 4

    1.3 Editori i razvojna okruenja . . . . . . . . . . . . . . . . . . . . . . . 51.3.1 Spyder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.2 PyDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.3 Kate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2 python ljuska i .py skripte 72.1 Pokretanje Pythona . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Python ljuska kao kalukulator . . . . . . . . . . . . . . . . . . . . . . 72.3 Python skripte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3.1 Upotreba posebnih znakova . . . . . . . . . . . . . . . . . . . . 82.4 Moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 tipovi podataka 113.1 Brojevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5 Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.6 Skupovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    4 operatori 194.1 Aritmeticki operatori . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Relacijski operatori ili operatori usporedivanja) . . . . . . . . . . . . . . 194.3 Operatori dodjeljivanja . . . . . . . . . . . . . . . . . . . . . . . . . 204.4 Logicki operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.5 Clanski operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.6 Operatori identiteta . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5 osnovne naredbe za unos i ispis podataka 235.1 print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 raw_input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.3 input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    6 uvjetna grananja 256.1 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256.2 else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266.3 elif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    7 petlje 297.1 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.2 while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307.3 break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307.4 continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.5 Paraleleno iteriranje . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.6 Numeriranje liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    iii

  • iv sadraj

    8 funkcije 358.1 Definiranje i pozivanje funkcija . . . . . . . . . . . . . . . . . . . . . . 358.2 Vracanje vrijednosti iz funkcije . . . . . . . . . . . . . . . . . . . . . . 368.3 Argumenti sa zadanim vrijednostima . . . . . . . . . . . . . . . . . . . 378.4 Keyword i non-keyword argumenti . . . . . . . . . . . . . . . . . . . . 378.5 Ugnjedena definicija funkcije . . . . . . . . . . . . . . . . . . . . . . 398.6 Anonimne funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . 398.7 Rekurzivne funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    9 objektno-orijentirano programiranje 439.1 Objektno-orijentirano programiranje . . . . . . . . . . . . . . . . . . . 439.2 Klase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449.3 Atributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    9.3.1 Globalni atributi . . . . . . . . . . . . . . . . . . . . . . . . . 449.3.2 Objektni atributi . . . . . . . . . . . . . . . . . . . . . . . . . 45

    9.4 Metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469.5 Preopterecivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    9.5.1 Preopterecivanje funkcija . . . . . . . . . . . . . . . . . . . . . . 489.5.2 Preopterecivanje operatora . . . . . . . . . . . . . . . . . . . . . 49

    9.6 Nasljedivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5110 oblikovanje stringova 55

    10.1 Oblikovanje sa operatorom % . . . . . . . . . . . . . . . . . . . . . . 5510.2 Oblikovanje sa metodom format . . . . . . . . . . . . . . . . . . . . . 57

    11 rad sa datotekama 5911.1 Otvaranje i zatvaranje datoteka . . . . . . . . . . . . . . . . . . . . . . 5911.2 Pisanje u datoteke . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5911.3 Citanje iz datoteka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6011.4 Pozicioniranje u datoteci . . . . . . . . . . . . . . . . . . . . . . . . . 6111.5 Preimenovanje, kopiranje i brisanje datoteka . . . . . . . . . . . . . . . 6211.6 Arhiviranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    12 python standard library 6312.1 Informacije o platformi i operacijskom sustavu . . . . . . . . . . . . . . 6312.2 Matematicke funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . 6312.3 Datum i vrijeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6412.4 Vrijeme izvravanja . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    13 greke u python kodu 6713.1 Tipovi greaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6713.2 Manipulacija grekama - Exception handling . . . . . . . . . . . . . . . . 6813.3 Ispravljanje greaka - DeBugging . . . . . . . . . . . . . . . . . . . . . 69

    II numpy 7114 zadavanje polja u numpy-u 73

    14.1 array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7314.2 arange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7414.3 linspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7414.4 zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7514.5 ones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7514.6 eye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7614.7 diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7614.8 meshgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    15 informacije o polju i indeksiranje 7915.1 Informacije o polju . . . . . . . . . . . . . . . . . . . . . . . . . . . 7915.2 Indeksiranje polja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    16 manipulacije sa numpy poljima 81

  • sadraj v

    16.1 Manipulacije sa dimenzijama polja . . . . . . . . . . . . . . . . . . . . 8116.2 Transponiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8216.3 Dodavanje i brisanje elemenata polja . . . . . . . . . . . . . . . . . . . 82

    17 ucitavanje i spremanje numpy polja 8317.1 Ucitavanje iz tekstualnih datoteka . . . . . . . . . . . . . . . . . . . . 8317.2 Spremanje u tekstualne datoteke . . . . . . . . . . . . . . . . . . . . . 84

    18 matricni racun 8518.1 Rjeavanje sustava linearnih jednadbi . . . . . . . . . . . . . . . . . . 85

    19 rad sa polinomima 8719.1 poly1d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    III priprema , obrada i vizualizacija podataka 8920 osnovni 2d grafovi 91

    20.1 Linijski grafovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9120.2 Naprednija kontrola linijskih grafova . . . . . . . . . . . . . . . . . . . 94

    20.2.1 Boje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9420.2.2 Markeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    20.3 Svojstva prozora, prostora crtanja i osi . . . . . . . . . . . . . . . . . . 9620.4 Spremanje grafova . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10120.5 Podgrafovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10120.6 Polarni grafovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10220.7 tips and tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    21 sloeniji 2d grafovi 10521.1 Izolinije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    21.1.1 Mapa boja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10521.1.2 Detaljnije podeavanje grafa izolinija . . . . . . . . . . . . . . . . . 10621.1.3 Primjer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    22 izrada animacija 109

    IV numericke metode 11123 rjeavanje nelinearnih jednadbi 113

    23.1 Metoda bisekcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11323.2 Newton-Raphsonova metoda . . . . . . . . . . . . . . . . . . . . . . . 11523.3 Metoda sekante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11623.4 Brentova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11623.5 Zadaci . . . . . . . . . . . . . . . . . . . . . . . . .