Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hága Péter ELTE Komplex Rendszerek Fizikája tanszék

Hasonló előadás


Az előadások a következő témára: "Hága Péter ELTE Komplex Rendszerek Fizikája tanszék"— Előadás másolata:

1 Hága Péter ELTE Komplex Rendszerek Fizikája tanszék
Unix/Linux alapok Hága Péter ELTE Komplex Rendszerek Fizikája tanszék

2 Unix és Linux Unix: gyors, biztonságos szerver operációs rendszer 1969-ből. Sun - Solaris, IBM - AIX, Hewlett-Packard - HP-UX. Linux: legelterjedtebb Unix változat, amit 1991-től fejlesztenek. Linus Torvalds, finn programozó fejlesztett ingyenes Unix alapú OS-t, és megosztotta a kódjait azokkal akik részt akartak venni a munkában.

3 Miért használjunk Linux-ot? - általában
Linux robosztus és stabil Linuxban kevesebb bug található, mint más OS-ben Linux erőteljes Linux nagy teljesítményű Linux szinte minden eszközzel együttműködik Linux flexibilis Testreszabható hardver támogatás Teljes mértékben testreszabható szoftverek Linux számos platformon fut Linux jól támogatott Linux meglehetősen olcsó Nincsenek licensz díjak Hatékony szoftverek egybecsomagolva a rendszerrel

4 Miért használjunk Linux-ot? - szerintem
Linux erőteljes Linux nagy teljesítményű Linux szinte minden eszközzel együttműködik Linux jól támogatott Linux meglehetősen olcsó Ezért elterjedt egyetemi környezetben Elterjedt szerveres, superszámítógépes környezetben Hatékony szoftverek egybecsomagolva a rendszerrel Linux jól scriptelhető Szinte minden szoftver meghívható parancssorból Szoftverek jól kapcsolózhatóak, paraméterezhetőek Linux parancsok összefűzhetőek (pipe-olás) Linux szerverek távolról könnyen elérhetőek Linux jogosultságkezelés

5 Linux a valóságban Cygwin Virtuális gépek Disztribuciók
Debian Mandrake Red Hat Ubuntu Cygwin Virtuális gépek Felhasználói felületek (GUI) Gnome KDE

6 Linux belépési módok accountra van szükség helyi login távoli login
username és password helyi login távoli login parancs soros terminál grafikus belépés ssh [-X]

7 File rendszer felépítése

8 Egyszerű parancsok Tab-ra kiegészítés
Fel nyílra ugrik az előző parancsra Bash history Reguláris kifejezések parancs & - parancsok háttérben futtatása | - (pipe) parancsok összefűzése man - manual (help) Apropos gcc – c fordító

9 Egyszerű parancsok grep – kifejezés keresés less, more, cat
emacs, gedit, vim ,... pwd - shows the current directory cd - changes directory / -abszolút path ./ -relatív path ../ - egy könyvtárral feljebb ls mkdir - makes directory rmdir - removes directory cp - copies mv - moves rm - removes [-r]

10 Megoldandó feladat

11 Feladat Ellenőrizzük azt az állítást, hogy a tőzsdei részvényárfolyamok véletlen bolyongással modellezhetőek! Azaz hasonlítsunk össze véletlen bolyongási adatokat valódi részvény árfolyamokkal Az statisztikai összehasonlítás módja pl. az eloszlás függvényeik, vagy a hisztogramjaik összehasonlítása

12 Megoldás lépései Két részfeladat: Véletlen bolyongás leprogramozása
Véletlen bolyongás megvalósítása és vizsgálata Részvény árfolyam vizsgálata Véletlen bolyongás leprogramozása c nyelven adatsor elemzése awk segítségével ábrázolás gnuplottal adatsor letöltés: Google Finance Eredmények összehasonlítása, interpretációja, diszkusszió

13 Véletlen bolyongás

14 Véletlen bolyongás Diszkrét időlépés Normális eloszlású növekmény
1D, 2D, 3D

15 Véletlen bolyongás – c kód
#include <stdlib.h> // függvény könyvtár betöltés #include <math.h> int main () { // program törzs kezdete int i; // változó deklarálások double x1,x2,y1,y2; double pos=0; srand(102); // pszeudo véletlenszám generátor inicializálás for (i=0;i<50000;i++) { // bolyongás léptetése x1=(double)rand()/RAND_MAX; // egyenletes eloszlású pszedo véletlen szám generálás x2=(double)rand()/RAND_MAX; y1 = sqrt( - 2*log(x1) )*cos( 2*3.14*x2 ); // normális eloszlású véletlen szám generálás y2 = sqrt( - 2*log(x1) )*sin( 2*3.14*x2 ); pos+=y1; // pozíció update printf("%.3f %.3f %.3f %.3f %.3f\n",x1,x2,y1,y2,pos); // eredmény kiírás } return 0; // visszatérési érték

16 Véletlen bolyongás – eredmény
$ gcc randomwalk.c –o randomwalk -lm # forráskódunk futtathatóvá fordítása $ ./randomwalk # futtatás X1 X2 Y1 Y2 POS ….

17 Véletlen bolyongás – AWK feldolgozás
$ cat randomwalk.dat | cut -f3 -d" " > randomwalk_nov.dat # Y1 adatsor kiválasztása, mint növekmény $ MAX=`cat randomwalk_nov.dat | sort -n | tail -1` # legnagyobb növekmény $ MIN=`cat randomwalk_nov.dat | sort -n | head -1` # legkisebb növekmény $ echo $MAX $MIN # kiírás $ cat randomwalk_nov.dat | awk -v min=$MIN -v max=$MAX -v N=100 'BEGIN{for (i=0;i<N;i++) {h[i]=0;}}{h[int(($1-min)/((max-min)/N))]++} END{for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i]}' > hist_randomwalk.dat # AWK hisztogram készítés

18 AWK hisztogram készítés
$ cat randomwalk_nov.dat | awk -v min=$MIN -v max=$MAX -v N=100 ‘ BEGIN{ for (i=0;i<N;i++) {h[i]=0;} } { h[int(($1-min)/((max-min)/N))]++ END{ for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i] ' > hist_randomwalk.dat

19 Részvény árfolyam vizsgálat

20 Részvény árfolyam vizsgálat
Date,Open,High,Low,Close,Volume 22-Oct-08,19.31,20.19,18.13,19.33, 21-Oct-08,20.14,21.48,19.34,20.20, 20-Oct-08,20.17,20.79,19.07,19.77, 17-Oct-08,17.97,20.26,17.52,19.24, 16-Oct-08,18.60,19.25,16.93,18.69, 15-Oct-08,20.23,20.46,17.61,18.13, 14-Oct-08,21.21,24.20,20.55,21.94, 13-Oct-08,15.43,19.06,12.66,18.10, 10-Oct-08,9.19,11.30,6.71,9.68, 9-Oct-08,17.98,18.30,11.95,12.45, 8-Oct-08,16.99,19.47,16.23,16.80, 7-Oct-08,24.28,24.28,14.13,17.65, 6-Oct-08,22.49,24.40,20.17,23.50, 3-Oct-08,24.40,26.73,22.51,23.92, 2-Oct-08,23.91,25.12,23.10,23.21, 1-Oct-08,22.72,24.87,21.76,24.42,

21 Részvény árfolyam vizsgálat - AWK
Date,Open,High,Low,Close,Volume 22-Oct-08,19.31,20.19,18.13,19.33, 21-Oct-08,20.14,21.48,19.34,20.20, 20-Oct-08,20.17,20.79,19.07,19.77, 17-Oct-08,17.97,20.26,17.52,19.24, 16-Oct-08,18.60,19.25,16.93,18.69, 15-Oct-08,20.23,20.46,17.61,18.13, 14-Oct-08,21.21,24.20,20.55,21.94, 13-Oct-08,15.43,19.06,12.66,18.10, 10-Oct-08,9.19,11.30,6.71,9.68, 9-Oct-08,17.98,18.30,11.95,12.45, 8-Oct-08,16.99,19.47,16.23,16.80, 7-Oct-08,24.28,24.28,14.13,17.65, 6-Oct-08,22.49,24.40,20.17,23.50, 3-Oct-08,24.40,26.73,22.51,23.92, 2-Oct-08,23.91,25.12,23.10,23.21, 1-Oct-08,22.72,24.87,21.76,24.42, $ cat data.csv | cut -f5 -d"," > close.dat # záróárfolyamok kivágása

22 Részvény árfolyam vizsgálat - AWK
$ cat close.dat | awk '{if (NR>2) {print $1-old}; old=$1}' > diff.dat # növekmény lépésenkénti meghatározása $ MAX=`cat diff.dat | sort -n | tail -1` # legnagyobb növekmény $ MIN=`cat diff.dat | sort -n | head -1` # legkisebb növekmény $ cat diff.dat | awk -v min=$MIN -v max=$MAX -v N=250 'BEGIN{for (i=0;i<N;i++) {h[i]=0;}}{h[int(($1-min)/((max-min)/N))]++} END{for (i=0;i<N;i++) print i*((max-min)/N)+min,h[i]}' > reszveny_hist.dat # AWK hisztogram készítés, ld. pár oldallal korábban

23 Eredmény / Gyakorlat

24 Gyakorlat Az előző feladat egyéni megvalósítása
Kapott két hisztogram ábrázolása gnuplottal A kapott eredmények összehasonlítása, közös interpretációja, diszkusszió

25 Kérdések?


Letölteni ppt "Hága Péter ELTE Komplex Rendszerek Fizikája tanszék"

Hasonló előadás


Google Hirdetések