Program gnuplot. 1 Wprowadzenie. 2 Sposób komunikacji z programem



Podobne dokumenty
Ćwiczenie nr 2 Zbiory rozmyte logika rozmyta Rozmywanie, wnioskowanie, baza reguł, wyostrzanie

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Microsoft Management Console

Wtedy wystarczy wybrać właściwego Taga z listy.

GNUPLOT Wprowadzenie. dr inż. Marzena Tefelska Wydział Fizyki Politechnika Warszawska 2015

SCHEMATY STRON. Baner Nawigacja Nawigacja okruszkowa Prawa kolumna zobacz również Boksy Zwykła strona...

Intellect. Business Intelligence. Biblioteka dokumentów Podręcznik. Business Intelligence od 2Intellect.com Sp. z o.o.

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Kurs z matematyki - zadania

FAQ. Lipiec Wersja 1.2. Generator Wniosków Aplikacyjnych (GWA), Generatora Wniosków Aplikacyjnych Edytor (GWA-E)

PAKIET MathCad - Część III

Uchwała nr 1 Nadzwyczajnego Walnego Zgromadzenia J.W. Construction Holding S.A. z siedzibą w Ząbkach z dnia 1 kwietnia 2008 roku

I. LOGICZNE STRUKTURY DRZEWIASTE

Grapher Instrukcje. Histogram

UCHWAŁA NR podjęta przez Nadzwyczajne Walne Zgromadzenie spółki pod firmą Star Fitness Spółka Akcyjna w Poznaniu w dniu 11 marca 2013 roku

STEROWNIK BIOLOGICZNYCH OCZYSZCZALNI ŚCIEKÓW

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

DEMERO Automation Systems

7. OPRACOWYWANIE DANYCH I PROWADZENIE OBLICZEŃ powtórka

Centrum Informatyki "ZETO" S.A. w Białymstoku. Instrukcja użytkownika dla urzędników nadających uprawnienia i ograniczenia podmiotom w ST CEIDG

CitiDirect Online Banking. Powiadomienia

Rozdział 7. Wykorzystanie funkcji daty i czasu do analizy danych

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

FUNKCJE STEROWNIKA PK-35 PID

Kalkulator Kalorii by CTI. Instrukcja

JTW SP. Z OO. Zapytanie ofertowe. Zakup i dostosowanie licencji systemu B2B część 1

Konfiguracja Wyszukiwarki

Komputer i urządzenia z nim współpracujące

Plan naprawczy. Sokółka 2006/2007. Opracowanie: Urszula Bronowicz Henryka Sarosiek ElŜbieta Plichta Katarzyna Dykiel Tomasz Mucuś

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Specyfikacja techniczna banerów Flash

Komentarz technik ochrony fizycznej osób i mienia 515[01]-01 Czerwiec 2009

BIOMETRIA 3. Wprowadzenie do pakietu SAS

Test F- Snedecora. będzie zmienną losową chi-kwadrat o k 1 stopniach swobody a χ

Algorytmy graficzne. Podstawy kompresji danych fragment wykładu. Marcin Wilczewski

CitiDirect EB - Mobile

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

ROZWIĄZANIA ZADAŃ Zestaw P3 Odpowiedzi do zadań zamkniętych

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Matematyka:Matematyka I - ćwiczenia/granice funkcji

Instrukcja użytkowania DRIVER. Programator z przewodem sterowniczym. DRIVER 610 lub lub 2 strefy DRIVER

Efektywność nauczania w Gimnazjum w Lutyni

Podejmowanie decyzji. Piotr Wachowiak

Elementy animacji sterowanie manipulatorem

Moduł Pulpit opcji oraz Narzędzia. Opis v 1.0

Instrukcja do ćwiczenia Kompensacja mocy biernej

W. Guzicki Zadanie 23 z Informatora Maturalnego poziom rozszerzony 1

Archiwum Prac Dyplomowych

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax lub kom e mail: info@mdh-system.pl

Test całoroczny z matematyki. Wersja A

Gnuplot. narzędzie do tworzenia wykresów

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Metody opracowywania dokumentów wielostronicowych. Technologia Informacyjna Lekcja 28

Kilka zasad o których warto trzeba pamiętać

gnuplot - wprowadzenie

WYRAŻENIA REGULARNE I JĘZYK AWK

PROJEKTY UCHWAŁ NA NADZWYCZAJNE WALNE ZGROMADZENIE HETAN TECHNOLOGIES SPÓŁKA AKCYJNA W DNIU 25 MAJA 2016 ROKU

PERSON Kraków

Regulamin lodowiska BIAŁY ORLIK przy Zespole Szkół nr 1 w Nowym Dworze Mazowieckim

WYMAGANIA EDUKACYJNE SPOSOBY SPRAWDZANIA POSTĘPÓW UCZNIÓW WARUNKI I TRYB UZYSKANIA WYŻSZEJ NIŻ PRZEWIDYWANA OCENY ŚRÓDROCZNEJ I ROCZNEJ

Warunki Oferty PrOmOcyjnej usługi z ulgą

Plan połączenia poprzez przejęcie. SYNOPTIS PHARMA Sp. z o.o. oraz BS - SUPLE Sp. z o.o.

Połączenie VPN Host-LAN IPSec z wykorzystaniem Windows XP. 1. Konfiguracja serwera VPN. 2. Konfiguracja klienta VPN. 3. Zainicjowanie połączenia

Zarządzanie Zasobami by CTI. Instrukcja

REGULAMIN X GMINNEGO KONKURSU INFORMATYCZNEGO

Zmiany w programie C GEO v. 6.5

I.1.1. Technik mechanizacji rolnictwa 311[22]

Ekran startowy płyty instalacyjnej umozliwia nam wybór

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

ZASADY REPRODUKCJI SYMBOLI GRAFICZNYCH PRZEDMOWA

Easy, Reliable & Secure. Podręcznik instalacji wzmacniacza N300RE Wi-Fi Range Extender

PRZETWORNIK NAPIĘCIE - CZĘSTOTLIWOŚĆ W UKŁADZIE ILORAZOWYM

Harmonogramowanie projektów Zarządzanie czasem

Warsztat naukowca a problem formatu informacji bibliograficznej generowanej przez systemy informacyjne. Remigiusz Sapa IINiB UJ

Jak spersonalizować wygląd bloga?

Kurier POCZTEX XL by CTI. Instrukcja

Geometria Wykreślna Wykład 3

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

Architektura Systemów Komputerowych. Sterowanie programem skoki Przerwania

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Polska-Warszawa: Usługi w zakresie doradztwa prawnego i reprezentacji prawnej 2015/S

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik ochrony fizycznej osób i mienia 515[01]

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie arkusza kalkulacyjnego EXCEL do rozwiązywania układów równań liniowych metodą wyznacznikową

Karta adaptacyjna GSM

Praca na wielu bazach danych część 2. (Wersja 8.1)

API transakcyjne BitMarket.pl

InsERT GT Własne COM 1.0

Komentarz Sesja letnia 2012 zawód: technik eksploatacji portów i terminali 342[03] 1. Treść zadania egzaminacyjnego wraz z załączoną dokumentacją

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami technik obuwnik 311[25]

Kopia zapasowa i odzyskiwanie Podręcznik użytkownika

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

2.Prawo zachowania masy

Wnioskodawcy. Warszawa, dnia 15 czerwca 2011 r.

ZAPYTANIE OFERTOWE W SPRAWIE ZAMÓWIENIA LINIA DO CIĘCIA POPRZECZNEGO. Krzęcin,

Karta pracy: Ćwiczenie 5.

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Regulamin. Rady Nadzorczej Spółdzielni Mieszkaniowej "Doły -Marysińska" w Łodzi

Elementy cyfrowe i układy logiczne

Zapytanie ofertowe dotyczące wyboru wykonawcy (biegłego rewidenta) usługi polegającej na przeprowadzeniu kompleksowego badania sprawozdań finansowych

Transkrypt:

Program gnuplot 1 Wprowadzenie W ramach tego ćwiczenia (trzech tygodni) zapoznamy się z programem gnuplot. Program ten służy do prezentacji oraz analizy danych naukowych. Wiedza i umiejętności, które pozyskamy w ramach tego ćwiczenia, będą nam niezbędne do samego końca semestru. Ćwiczenie to zakończy się dłuższym sprawdzianem umiejętności praktycznych. W trakcie zajęć omówione zostaną jedynie podstawy użytkowania programu. W szczególności przedstawione zostaną: 1. sposób komunikacji z programem (linia poleceń, skryptowanie), 2. składnia podstawowych poleceń programu, 3. sposób eksportowania wyników pracy (zapis wykresów do pliku). Z racji ograniczonego czasu wymagana będzie praca w domu (czytaj: pobierz program i zainstaluj go na własnym komputerze, zaprzyjaźnij się z nim, w domowym zaciszu jeszcze raz przebrnij przez wszystkie jego funkcjonalności). Warto to uczynić. Każdy wysiłek włożony w poznanie programu gnuplot zwraca się z nawiązką. Z własnego doświadczenia: każda 1 godzina poświęcona na poznanie programu gnuplot to 100 (a nawet i więcej) godzin zaoszczędzonych w późniejszej pracy zawodowej (i nie tylko: patrz przygotowanie pracy dyplomowej, opracowanie wyników z laboratoriów). Zdecydowanie więc warto! 2 Sposób komunikacji z programem Praca z programem gnuplot jest specyficzna, gdyż w programie tym nie klikamy. Z programem gnuplot komunikujemy się tekstowo, wykorzystując do tego celu konsolę. Program gnuplot zgłasza swoją gotowość do działania wyświetlając w konsoli znak zachęty. Znak ten ma postać: gnuplot> Oznacza on, że program gnuplot oczekuje na wprowadzenie polecenia. Wprowadzone polecenia zatwierdzamy klawiszem Enter. Aby móc efektywnie pracować z programem należy poznać i zapamiętać zestaw oraz składnię jego poleceń. Poleceń tych jest co prawda multum, jednakże poznanie zaledwie 20 podstawowych pozwala efektywnie pracować z programem. W ogólności, z programem gnuplot można pracować na dwa sposoby. Podstawowy sposób pracy to omówiona już praca interaktywna (wykorzystując konsolę programu: wprowadzamy polecenie, zatwierdzamy, wprowadzamy kolejne polecenie, zatwierdzamy, powtarzamy do skutku). Drugi sposób to tzw. skryptowanie. Polega on na przygotowaniu skryptu (pliku tekstowego) zawierającego polecenia i nakazaniu programowi wykonania takiego skrytpu. W trybie tym program otwiera skrypt i (najzwyczajniej) wczytuje i wykonuje kolejne, zawarte w nim polecenia. Jako iż taki sposób pracy pozwala znacznie zwiększyć efektywność, zostanie on również omówiony (w części dalszej). W trybie takim nie ma konieczności wielokrotnego wpisywania tych samych poleceń, zaś przygotowanie nowego wykresu często sprowadza się do wprowadzenia drobnych zmian w już istniejącym skrypcie. Należy mieć na uwadze, że w trakcie pracy program gnuplot zapamiętuje wszystkie zmiany ustawień. Dla przykładu: jeżeli tworząc wykres zdefiniowaliśmy etykietę (tj. opis) osi to program 1

będzie stosował tę etykietę tak długo, aż ponownie jej nie zmienimy (czytaj: będzie ją nanosił na kolejne tworzone wykresy). To samo stwierdzenie dotyczy wszystkich pozostałych ustawień. 3 Podstawowe polecenia programu Podstawowym poleceniem programu gnuplot jest polecenie nakazujące kreślenie plot. Jego składnia jest następująca (zapis symboliczny): plot <graph_spec> W powyższym zapisie nawias <graph_spec> oznacza dowolną (lecz prawidłową!) specyfikację wykresu (mówimy programowi co i jak chcemy wykreślić, możemy kreślić funkcje jak i dane z pliku). Nie precyzujemy na razie jak specyfikacja ta wygląda. Można również przedstawić nieco ogólniejszą składnię polecenia plot. Na jednym wykresie można nanieść większą liczbę serii : plot <graph_spec_1>, <graph_spec_2>, <graph_spec_3>,... Jak widać, specyfikacje poszczególnych serii należy wymieniać jedna po drugiej, oddzielając je przecinkiem. Polecenia plot można użyć do sporządzenia wykresu wybranej funkcji. Przykłady: plot x+1.0 plot x*x-1.0/2.0 plot x**2.0 plot x**2.0+4.0*x+8.0 plot x**3.0+4.0*x**1.5+8.0*x**(-1.0) Wyrażenia algebraiczne konstruuje się stosując standardowe reguły (czytaj: stosuje się standardowe operatory oraz standardowy porządek wykonywania działań). Operator potęgowania reprezentuje symbol **. Zapis x**3.0 oznacza zatem x 3, zaś zapis x**-1.0 oznacza x 1.0 = 1/x. W wyrażeniach algebraicznych nie wolno stosować znaków białych (m.in. spacji). W celu zmiany porządku działań należy zastosować nawiasy okrągłe ( ). W wyrażeniach algebraicznych nie wolno stosować nawiasów [ ] oraz { }. Wprowadzając liczby warto stosować symbol kropki. Aby zobaczyć jak istotna może być kropka, warto sporządzić poniższe wykresy. plot 1/3, 1.0/3.0, 1/2, 1.0/2.0 Sens operatora / jest zależny od kontekstu. Może on być rozumiany jako zwykły operator dzielenia bądź jako operator dzielenia całkowitego. W programie dostępna jest większość standardowych funkcji, takich jak sin(x), cos(x), tan(x), atan(x), log(x), exp(x) oraz sqrt(x). Polecenia plot można użyć do wykreślenia danych z pliku. Plik z danymi powinien być zwykłym plikiem tekstowym (dokument nieformatowany). Dane w pliku muszą być zorganizowane kolumnowo, chociażby tak jak w przykładzie poniżej. Plik może zawierać dowolną liczbę kolumn oraz dowolną liczbę linii. W pliku z danymi można (i warto) wprowadzać komentarze. Linia komentarza powinna zaczynać się znakiem #. # Experimental data, DATE: 01/02/2015, TIME: 13:31 # Parameters: energy 10.6 ev, length: 60 minutes # 1st column - Force F (ev/angstrom) # 2nd column - Deflection d (Angstrom) # 3nd column - Error(F) (ev/angstrom) 2

# 4th column - Error(d) (Angstrom) 0.11 1.11 0.05 0.11 1.03 3.01 0.03 0.11 2.09 5.02 0.15 0.10 3.04 6.98 0.11 0.10 3.95 9.08 0.06 0.09 4.99 11.22 0.07 0.33 Do kreślenia danych z pliku również służy polecenie plot. Chcąc wykreślić dane z pliku należy nazwę pliku (ściśle: nie nazwę, lecz ścieżkę do pliku) umieścić w cudzysłowie. Dla przykładu: plot "dane.dat" plot "C:\\moje_dane\\dane.dat" Kręśląc dane z pliku należy zadbać, by: 1. plik z danymi istniał, 2. plik z danymi znajdował się we wskazanej przez nas lokalizacji, 3. plik z danymi był prawidłowo sformatowany. Pierwszy z przedstawionych powyżej przykładów (podajemy jedynie nazwę, a nie pełną ścieżkę do pliku) dotyczy sytuacji, w której plik z danymi znajduje się w katalogu roboczym. Katalog roboczy można sprawdzić stosując polecenie pwd (od ang. Print Working Directory). Po jego wykonaniu program gnuplot wyświetli w konsoli ścieżkę do katalogu roboczego. Katalog roboczy można zmienić za pomocą polecenia cd (od ang. Change Directory). Przykłady użycia polecenia cd zostały przedstawione poniżej. cd.. cd "katalog1" cd "podkatalog2" cd "C:\\Moj_katalog\\Moj_podfolder" cd "D:\\Aaa\\Bbb\\111\\222" Polecenie cd.. powoduje zmianę katalogu roboczego na nadrzędny. Do zmiany katalogu roboczego można również posłużyć się klawiszem opisanym jako ChDir. Jest on zlokalizowanym na górnej belce programu gnuplot. Na jednym wykresie możemy jednocześnie wykreślić dane z pliku i funkcję. Dla przykładu: plot 3.0*x**3.0+x*sin(x), "dane.txt" plot "dane.txt", x+1.0 plot "dane.txt", 0.5*sin(2.0*x)+0.25*cos(0.5*x+1.0) plot "dane.txt", 2.0*exp(-0.5*x) plot "dane.txt", log(x**2.0) Możemy również jednocześnie wykreślić dane z wielu różnych plików. Przykłady: plot "dane_1.dat", "dane_2.dat" plot "dane_1.dat", "dane_2.dat", "dane_3.dat" 3

Kreśląc z pliku, program domyślnie pod uwagę bierze kolumny 1 (jako argument) oraz 2 (jako wartość). Możemy to oczywiście zmienić. Wybór kolumn odbywa się poprzez użycie modyfikatora using. Dla przykładu: plot "dane.txt" using 1:3 plot "dane.txt" using 2:3 plot "dane.txt" using 2:1 plot "dane.txt" using 3:4 plot "dane.txt" using 1:3, x**2.0+1.0 plot "dane_a.txt" using 1:3, "dane_b.txt" using 2:1 Modyfikatora using można używać tylko w połączeniu z danymi z pliku. Program gnuplot dostarcza wielu różnych modyfikatorów. Najbardziej istotne (oprócz modyfikatora using) to with, linestyle oraz title. Pierwszy z nich pozwala określić metodę reprezentacji danych (punkty, kropki, linie, słupki błędu). Drugi z nich służy do określenia stosowanego stylu (linia ciągła, przerywana,... ; kwadraty, trójkąty,... ; kolor; grubość linii; rozmiar punktów). Ostatni pozwala określić tytuł serii (wyświetlany jest on w legendzie). Kolejność użycia modyfikatorów nie jest dowolna. Jako pierwszy powinien pojawić się modyfikator using, jako drugi with, jako trzeci linestyle, zaś jako ostatni title. Nie ma konieczności zastosowania wszystkich modyfikatorów. Poniżej zamieszczono przykłady prawidłowego zastosowania modyfikatorów. plot 2.0*x*x with lines plot 2.0*x*x with points plot 2.0*x*x with linespoints plot 2.0*x*x with dots plot "dane.txt" with lines plot "dane.txt" with points plot "dane.txt" with linespoints plot "dane.txt" with dots plot "dane.txt" with xerrorbars plot "dane.txt" with yerrorbars plot "dane.txt" with xyerrorbars plot "dane.txt" using 1:2:4 with yerrorbars plot "dane.txt" using 1:2:3:4 with xyerrorbars plot sin(x) linestyle 1 plot sin(x) linestyle 2 plot sin(x) linestyle 3 plot sin(x) linestyle 4 plot sin(x) title "sinus", cos(x) title "cosinus" plot "dane_a.txt" tile "Seria A", "dane_b.txt" title "Seria B" Możliwe jest łączenie modyfikatorów. plot "dane.txt" using 1:2:3 with xerrorbars linestyle 1 title "seria A" Możliwa jest zmiana ustawień dotyczących: 1. opisu osi (etykiet) i wykresu 4

set title "Insert your title here..." set xlabel "X-axis label (units)" set ylabel "Y-axis label (units)" 2. zakresów osi set xrange [0.0:50.0] set yrange [-10.0:110.0] plot [-20.0:20.0] "dane.txt" plot [-20.0:20.0][-30.0:30.0] "dane.txt" plot [:] "dane.txt" plot [:10.0] "dane.txt" plot [-10.0:] "dane.txt" 3. znaczników osi (wartości) set xtics 0.0, 10.0, 50.0 set ytics -10.0, 25.0, 5.0 set mxtics 5 set mytics 5 4. legendy set key off set key on set key unset key set key top right set key bottom left set key below set key above 5. rodzaju osi set logscale x set logscale y unset logscale x unset logscale y W programie gnuplot można określać własne style. Służy do tego polecenie set. set style line 1 linetype 1 linecolor 2 linewidth 3.0 pointtype 1 pointsize 3.0 W ogólności polecenie set jest poleceniem bardzo szerokiego przeznaczenia. Pozwala ono określić szereg ustawień. Bardzo przydatnym poleceniami są: set autoscale xy set autoscale x set autoscale y 5

Pozwalają one włączyć tzw. autoskalowanie (automatyczny dobór zakresów na osiach). Pośród innych przydatnych poleceń znajdują się clear oraz reset. Pierwsze z poleceń czyści obszar kreślenie, drugie zaś przywraca program do wyjściowego stanu (tracone są wszystkie ustawienia). Do wyjścia z programu służy polecenie exit. Szczególnie przydatnym poleceniem jest replot. Pozwala ono ponownie wykreślić ostatnio sporządzony wykres (czytaj: odświeżyć po wprowadzeniu zmian wykres). Równie przydatnym poleceniem jest help. Polecenia tego używa sie w sposób następujący: help set help set linestyle help set xrange Do przewijania wyświetlanych informacji służy klawisz Enter. Często stosuje się również polecenie print. Pozwala ono obliczyć (oraz wyświetlić w konsoli) wartość dowolnego wyrażenia. Używa się go w sposób następujący: print 0.5*1.2+1.5 print sin(30.0) print pi print exp(1.0) print sin(30.0*pi/180.0) print 1/3 print 1.0/3.0 Program pozwala definiować własne funkcje. Dla przykładu: f(x)=1.5*x**3.0+1.25*x-1.0 g(x)=3.0*sin(x)+1.0 h(x)=3.0*cos(2.0*x+1.0) i(x)=(3.0*x+1.0)*(2.0/x)+3.0*sin(3.0*x)+1.0 f1(x)=(2.0+x)/x f2(x)=(3.0+x**2.0)*exp(2.0*x) f3(x)=2.0*log(x+1.0) plot f(x) plot f(x), g(x) plot x+3.0, 3.0*x+2.0, f(x), g(x) Funkcje można uzależniać od zmiennych. Dla przykładu: f(x)=a*sin(b*x)+c plot f(x) A=1.5 B=2.5 C=3.5 plot f(x) Do sprawdzenia wartości zmiennej można posłużyć się poleceniem print. Dla przykładu: print A print B print a1, a2, a3 print a1+a2 print a1/a2 print 8.617e-05*300.0 6

4 Formy skrócone poleceń Wpisywanie poleceń bywa żmudne i czasochłonne. Program gnuplot pozwala stosować skrócone formy. Poniżej przedstawiono kilka form skróconych. W ogólności, formy te tworzy się dość intuicyjnie. plot -> p using -> u with -> w linestyle -> ls title -> t points -> p lines -> l linespoints -> lp xerrorbars -> xe yerrorbars -> ye xyerrorbars -> xye Przykłady użycia: p x**2.0+1.0 w lp t "f(x)" p "data.dat" u 1:2:3:4 w xye ls 1 t "Moje dane" Formy pełne powyższych poleceń: plot x**2.0+1.0 with linespoints title "f(x)" plot "data.dat" using 1:2:3:4 with xyerrorbars linestyle 1 title "Moje dane" 5 Skryptowanie programu Jak już wspomniano, program gnuplot dostarcza bardzo wygodnego sposobu pracy: pozwala on na tzw. skryptowanie. Skrypt jest zwykłym (nieformatowanym) plikiem tekstowym, zawierającym polecenia programu gnuplot. Każde polecenie powinno być zawarte w osobnej linii. W skrypcie można wprowadzać komentarze. Linia komentarza powinna zaczynać się znakiem #. Możliwe jest łamanie zbyt długich linii. Służy do tego znak \. W skrypcie mogą znajdować się puste linie. Poniżej przedstawiono przykładowy skrypt programu gnuplot. # to jest moj pierwszy skrypt set xlabel "To jest os X (jednostka_a)" set ylabel "To jest os Y (jednostka_b)" set title "To jest tytul wykresu" set xrange [-25.0:10.0] set yrange [-25.0:10.0] set key top left f(x)=10.0*x**2.0*sin(x)+5.0*cos(2.0*x+pi) g(x)=4.0*exp(-1.0*x**2.0) # ponizsza linia zostala zlamana, gdyz byla za dluga plot f(x) with linespoints linestyle 4 title "Funkcja pierwsza", \ g(x) with lines linestyle 2 title "Funkcja druga" Skryptowanie polega na: 7

1. przygotowaniu skryptu (można tego dokonać posługując się dowolnym edytorem tekstu nieformatowanego), 2. wykonaniu skryptu (tj. wczytaniu skryptu w programie gnuplot). Do wczytania skryptu służy polecenie load. Używa się go w sposób następujący: load "create_plot.gp" load "C:\laboratorium_KMM\moje_wyniki\make_my_graph.txt" 6 Eksport rezultatów Grafikę przygotowaną w programie gnuplot można wyeksportować. Program gnuplot wspiera szereg formatów, m.in.: pdf, ps, eps, jpeg, bmp, gif, tiff. W środowisku naukowym (lub też ogólniej - w poważnych zastosowaniach poligraficznych) szczególnie popularnymi formatami są formaty ps (PostScript) oraz eps (Encapsulated PostScript). Więcej informacji znaleźć można pod adresem: oraz: http://pl.wikipedia.org/wiki/postscript http://pl.wikipedia.org/wiki/encapsulated_postscript Aby wyeksportować wykres należy kolejno: 1. przygotować wykres ( tradycyjnie, stosując komendy programu gnuplot), 2. ustawić terminal na stosowny (czytaj: zależny od formatu generowanego pliku), służy do tego polecenie set terminal, 3. ustawić wyjście (określić nazwę i lokalizację pliku wyjściowego), służy do tego polecenie set output, 4. wykreślić ponownie wykres (tym razem pisząc nie na ekran, lecz do wskazanego w punkcie 3 pliku, stosując format określony w punkcie 2), można w tym celu posłużyć się poleceniem replot, 5. zamknąć wyjście, służy do tego również polecenie set output, 6. zmienić powrotnie terminal na ekranowy, by generowana później grafika nie trafiała już do wskazanego pliku, służy do tego również polecenie set terminal windows. Poniżej zamieszczono przykład (wprowadzono stosowne komentarze). # krok 1: tworzymy wykres, poki co kreslimy na ekranie monitora set xlabel "Os X" set ylabel "Os Y" set title "Moj wykres" plot x with linespoints title "Seria A" # po "naocznym" (patrz powyzsza linia) upewnieniu sie, ze wykres # jest prawidlowy (zgodny z naszymi oczekiwaniami) # rozpoczynamy eksport do pliku 8

# krok 2: ustawiamy terminal, w tym przypadku terminal ustawiono na # postscript (.ps) set terminal postscript # krok 3: ustawiamy wyjscie, wykres zostanie zapisany do pliku o nazwie # wykres_1.ps, znajdowac sie on bedzie w katalogu roboczym set output "test_1.ps" # krok 4: ponownie kreslimy wykres, w wyniku wykonania tego kroku # nie zobaczymy wynikow na ekranie (nie pojawi sie okienko z wykresem), # rezultaty zostana wyslane do wskazanego pliku replot # krok 5: zamykamy plik wyjsciowy, etap ten jest konieczny, # kazdy generowany plik musi zostac prawidlowo zamkniety set output # krok 6: przywracamy domyslny terminal kreslacy na ekranie set terminal windows Program gnuplot wyświetla listę obsługiwanych terminali po wpisaniu polecenia set terminal Wybierając terminal można zdefiniować jego ustawienia. Dla przykładu: set terminal postscript enhanced color "Times,24" Do otwarcia plików ps można posłużyć się programem GSview. Niezbędne oprogramowanie można znaleźć pod adresem: http://pages.cs.wisc.edu/~ghost/ W przypadku gdy stosuje się wzmocniony (ustawiona opcja enhanced) terminal postscript na wykresie można używać znaków specjalnych. Dostępne są (m.in.): 1. indeks dolny i górny, przykład: set title "f_{1}(x^{2})" set xlabel "x^{2}" set ylabel "A^{x-x} B_{y-y}" 2. litery alfabetu greckiego (a to α, b to β,..., m to µ, przykład: set title "{/Symbol a}=0.5 {/Symbol b}=1.5" set xlabel "{/Symbol a}{/symbol b}{/symbol c}" set ylabel "{/Symbol A}{/Symbol B}{/Symbol C}" 3. oraz wiele innych (większość konstrukcji dostępnych w systemie składu tekstu LaTeX). 9

7 Zaawansowane funkcje programu Program gnuplot pozwala również dopasować do danych zadaną funkcję (służy do tego polecenie fit). Pozwala on również w bardzo szybki sposób wyznaczać miary statystyczne (służy do tego polecenie stat), nawet dla dużych zbiorów danych wejściowych. Aby do danych z pliku dopasować (często stosuje się określenie: fitowanie) zadaną funkcję należy kolejno: 1. określić postać analityczną funkcji stosowanej do fitowania, 2. zainicjalizować (opcjonalnie) wartości parametrów funkcji, 3. przeprowadzić fitowanie, posługując się poleceniem fit. Stosowne komendy mogą wyglądać następująco: # krok 1 - okreslamy postac funkcji, w tym przypadku wielomian drugiego stopnia f(x)=a*x**2.0+b*x+c # krok 2 - inicjalizujemy parametry funkcji # (pomagamy w ten sposob programowi znalezc dopasowanie, # niekiedy jest to istotne) A=1.0 B=3.0 C=0.5 # krok 3 - przeprowadzamy dopasowanie fit f(x) "dane.txt" using 1:2 via A, B, C # krok 4 - opcjonalnie kreslimy na ekranie dane wraz z dopasowaniem # (by sprawdzic jak dobre dopasowanie udalo sie nam uzyskac) plot "dane.txt", f(x) # krok 5 - sprawdzamy wartosci parametrow po przeprowadzeniu fitowania print A, B, C Procedura fitowania może zakończyć się niepowodzeniem. Program gnuplot wyświetla w takich sytuacjach stosowną informację. W wyniku fitowania zmienione zostają wartości parametrów (zmiennych), względem których realizowane było fitowanie. Aby sprawdzić wartość parametrów można posłużyć się poleceniem print (tak jak to zostało przedstawione w przykładzie znajdującym się powyżej). W przypadku gdy proces fitowania zakończył się sukcesem program wyświetla na ekranie informację o postaci podobnej do przedstawionej poniżej. After 5 iterations the fit converged. final sum of squares of residuals : 0.03424 rel. change during last iteration : -2.21064e-11 degrees of freedom (FIT_NDF) : 2 rms of residuals (FIT_STDFIT) = sqrt(wssr/ndf) : 0.130843 variance of residuals (reduced chisquare) = WSSR/ndf : 0.01712 Final set of parameters Asymptotic Standard Error 10

======================= ========================== A = 0.995 +/- 0.03497 (3.515%) B = -0.039 +/- 0.2139 (548.4%) C = 0.372 +/- 0.2806 (75.44%) Słowa After xxx iterations the fit converged. informują, że procedura fitowania zakończyła się powodzeniem. Wartości parametrów uzyskanych w wyniku fitowania wypisane są pod słowami Final set of parameters. Niekiedy pojawia się konieczność ograniczenia zakresu fitowania. Można to osiągnąć za pomocą polecenia: fit [2.5:5.0] f(x) "dane.dat" using 1:2 via A, B, C Program gnuplot posiada bardzo przydatny moduł służący do obliczania miar statystycznych. Pozwala on dla zadanego zbioru danych wyznaczyć miary takie jak wartość średnia czy też odchylenie standardowe. Co ważne, miary takie można obliczyć bardzo szybko dla dużego zbioru danych. Do wyznaczenia miar statystycznych służy polecenie stat. Poniżej zamieszczono przykłady jego użycia. stat "dane.txt" using 1:2 stat [0.0:100.0] "dane.txt" using 3:1 stat "dane.txt" using 1 stat "dane.txt" using 4 Poniżej zamieszczono przykładowe wyjście polecenia stat. * FILE: Records: 5 Out of range: 0 Invalid: 0 Blank: 0 Data Blocks: 1 * COLUMNS: Mean: 3.0000 11.2000 Std Dev: 1.4142 8.5518 Sum: 15.0000 56.0000 Sum Sq.: 55.0000 992.8622 Minimum: 1.0000 [0] 1.3000 [0] Maximum: 5.0000 [4] 25.1100 [4] Quartile: 2.0000 4.3000 Median: 3.0000 9.3000 Quartile: 4.0000 15.9900 Linear Model: y = 5.931 x - 6.593 Correlation: r = 0.9808 Sum xy: 227.3 Jak widać, program przedstawia bogate informacje statystyczne. Do dyspozycji mamy: średnią, odchylenie standardowe, sumę, sumę kwadratów, minimum, maksimum, medianę i pozostałe kwartyle. Program przedstawia również model liniowy (regresja liniowa, metoda najmniejszych kwadratów) podając parametry modelu (równanie prostej) oraz współczynnik korelacji. 11

Program gnuplot pozwala również wykonywać operacje na danych czytanych z pliku. Konstruować można dowolne wyrażenia arytmetyczne. Do odwoływania się do poszczególnych kolumn danych służy symbol $. Realizuje się to w połączeniu z modyfikatorem using. Specyfikację kolumny przetwarzanej koniecznie należy zamieścić w nawiasie ( ). Dla przykładu, aby wykreślić kolumnę 2 pomnożoną przez 3.5 w funkcji odwrotności kolumny 1 należy: plot "dane.txt" using (1.0/$1):(3.5*$3) Inne przykłady: plot "dane.txt" using ($1*$2/0.5+0.5):(log($3)) plot "dane.txt" using (sin(2.0*$1+$2)+1.0):2 8 Zasoby oraz źródła wiedzy Oficjalna strona projektu gnuplot: Podręcznik użytkownika (wersja 4.6 programu): http://www.gnuplot.info/ http://www.gnuplot.info/docs_4.6/gnuplot.pdf Bogata galeria możliwości programu (wraz z poleceniami): http://gnuplot.sourceforge.net/demo_4.6/ Instalator dla systemu Windows (program gnuplot w wersji 4.6.6, do wyboru wersje 32- oraz 64-bitowa): http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.6/gp466-win32-setup.exe/download http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.6/gp466-win64-setup.exe/download Tutorial GNUPLOT 4.2 : A Brief Manual and Tutorial (bardzo krótki): http://www.duke.edu/~hpgavin/gnuplot.html Tutorial Gnuplot: The Impossible Graphs (ciekawe konstrukcje): http://www.phyast.pitt.edu/~zov1/gnuplot/html/intro.html Tutorial GNUPLOT - not so Frequently Asked Questions (wyjątkowo obszerny i ciekawy) http://web.archive.org/web/20100726165306/http://t16web.lanl.gov/kawano/gnuplot/index-e.html 12