1 Pierwsze kroki z PyLab 2 Pierwszy wykres
Transkrypt
1 Pierwsze kroki z PyLab 2 Pierwszy wykres
Laboratorium ”Robotyki mobilnej” 2 1 2 Piotr Kowalski Paweł Musialik 8 maja 2011 1 Pierwsze kroki z PyLab PyLab jest zbiorem bibliotek mających umożliwić programowanie w języku Python a’la Mathematica lub Matlab. W jego skład wchodzą między innymi: NumPy biblioteka zawierająca tablice wielowymiarowe, oraz funkcje algrebry liniowej, przekształcenia Fourier’a..., SciPy biblioteka będąca nakładką na NumPy zawierająca np. funkcje całkowania i optymalizacji, matplotlib biblioteka zawierająca obsługę grafiki, pozwala w prosty (matlabo-podobny) sposób wizualizować dane. 2 Pierwszy wykres Napisz skrypt: zawierający poniższy kod. 1 2 3 4 5 6 7 import pylab ## i m p o r t u j e m a t p l o t l i b , s c i p y i numpy za jednym razem , ## j e z e l i t o n i e d z i a l a n a l e z y o d d z i e l n i e ## importowac w s z y s t k i e b i b l i o t e k i X = [1 , 2 , 3] Y = [1 , 4 , 9] pylab . p l o t (X, Y) pylab . show ( ) Zmodyfikuj powyższy kod: • napisz procedury: 1 2 3 d e f to_power ( x _ l i s t , power ) : " " " ␣ zwraca ␣ l i s t e ␣ y _ l i s t ␣ z ␣ w a r t o s c i a m i ␣ x _ l i s t ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣do␣ p o t e g i ␣ power ␣ ( y=x^power ) ␣ " " " oraz: 1 2 d e f to_power_3 ( x _ l i s t ) : " " " ␣ zwraca ␣ l i s t e ␣ z ␣ w a r t o s c i a m i ␣do␣x^3␣ " " " • Wykorzystując napisane procedury zrób wykresy trzech funkcji na jednym wykresie (dla listy od 1 do 17 z krokiem 1): – każdy element podniesiony do potęgi 2 1 2 Na podstawie kursów MIT OCW http://ocw.mit.edu Na podstawie przewodnika http://johnstachurski.net/lectures/basicplot.html 1 – każdy element podniesiony do potęgi 2.5 – każdy element podniesiony do potęgi 3 • zmodyfikuj kolory funkcji oraz typ linii jakimi jest rysowany ( np. przerywana linia, lub kółka), • dodaj tytuł i podpisy na osiach. Referencje 1. http://matplotlib.sourceforge.net/users/pyplot_tutorial.html 3 Histogram Napisz skrypt: zawierający poniższy kod. 1 2 3 4 5 import pylab data = pylab . randn ( 1 0 0 ) pylab . h i s t ( data , b i n s =10) pylab . show ( ) # 500 probek z g o d n i e z e standardowym rozkladem • Co to jest za parametr bins=40? • Co zwraca funkcja pylab.randn(. . . )? • Znajdź opcję pozwalającą znormalizować ten histogram. 4 Trochę ekonomii Ze strony Yahoo: http://ichart.finance.yahoo.com/table.csv?s=%5EN225&a=00&b= 4&c=1984&d=04&e=7&f=2011&g=d&ignore=.csv, należy pobrać dane historyczne kursu giełdy japońskiej NIKKEI 225. Poniżej znajduje się początek pliku: Date,Open,High,Low,Close,Volume,Adj Close 2011-05-06,9851.15,9876.10,9782.66,9859.20,132400,9859.20 2011-05-02,9964.39,10017.47,9936.27,10004.20,127800,10004.20 2011-04-28,9749.36,9849.74,9712.58,9849.74,158000,9849.74 2011-04-27,9631.53,9728.03,9630.37,9691.84,115800,9691.84 2011-04-26,9627.43,9627.43,9536.51,9558.69,100200,9558.69 2011-04-25,9705.90,9748.40,9657.24,9671.96,100600,9671.96 Dane są w formacie .csv i zaczynają się od najświerzszych danych z 06 maja 2011 r. To co będzie nas interesowało to data (Date) oraz kurs na zamknięcie (Adj Close) 2 4.1 Cena na zamknięcie. Narysuj funkcję kursu (Adj Close) w czasie. Zajrzyj do referencji. (Możesz wykorzystać metodę należącą do string split() – poszukaj w google => python string split) 4.2 Kurs zwykle rośnie czy maleje? Napisz funkcję, która: • bierze jako parametry rok początkowy oraz rok końcowy oraz • kreśli wykres dziennego przyrostu (w procentach) w podanych latach. Funkcja przyrostu jest następująca: przyrost = 4.3 dzis − wczoraj · 100% wczoraj (1) No właśnie rośnie czy maleje – histogram? Zrób histogram dziennego przyrostu ze wszystkich lat. Spróbuj znormalizować go. 4.4 Pierwsze notowanie. Powtórz pierwsze ćwiczenie ale narysuj tylko dane z pierwszego notowania każdego miesiąca. Zauważ, że pierwsze notowanie nie musi koniecznie być 1’wszego–to może być weekend. Referencje 1. http://johnstachurski.net/lectures/builtins.html 3