Wstęp do biblioteki GSL oraz narzędzia GNUPLOT
Gnu Scientific Library -
informacje
GSL jest biblioteką do obliczeń numerycznych, napisaną w języku C.
Jak używać
- W kodzie źródłowym
programu należy dołączyć pliki nagłówkowe używanych funkcji, np:
#include <gsl/gsl_interp.h>
- Do linkowania należy
dołączyć bibliotekę gsl, gslcblas oraz m (math). Przykładowe polecenie
kompilatora ma więc postać:
· · gcc interpolacja.c -lgslcblas -lgsl -lm
Uwaga: można skorzystać z gotowego Makefile (załączony do
zadań) i kompilować poleceniem make.
GNUPLOT
- Program Gnuplot
uruchamia się wydając w linii poleceń komendę:
gnuplot
- Aby uzyskać pomoc w
Gnuplocie wydajemy polecenie:
gnuplot> help
· · gnuplot> plot sin(x) · gnuplot> plot [x=0:4*pi] sin(x) · gnuplot> plot [-pi:pi][-2:2] sin(x) · gnuplot> plot [-pi:pi][-2:2] sin(x) title "Sinus" with lines lt 6 lw 3 · gnuplot> plot [-pi:pi][-2:2] sin(x) title "Sinus" with lines lt 6 lw 2, cos(x) title "Cosinus" with points pt 3 ps 2
- Korzystanie ze
zbioru danych z pliku:
Przykladowe dane: fun1.txt.
· · gnuplot> plot "fun1.txt" · gnuplot> plot "fun1.txt" using 1:3 · gnuplot> plot "fun1.txt" using 1:2 w boxes · gnuplot> plot "fun1.txt" using 1:($2+$3)/2:2:3 w yerrorbars
- Wykonywanie komend
zapisanych w pliku:
· · gnuplot> load "wynik_plot"
o o gnuplot> set output "rys.jpg" o gnuplot> set terminal jpeg
- Rysowanie komendami
plot
etc. spowoduje wygenerowanie pliku rys.jpg.
- Polecenie convert
- konwersja obrazu, np. z jpeg do gif. Przykład użycia:
o o convert rys.jpg rys.gif
Zadanie
- Potrzebne pliki
- Proszę skompilować
program dokladnosc.c
przy użyciu polecenia make, a następnie uruchomić go.
- Korzystając z
funkcji gsl_ieee_printf_double
zobaczyć, jak zmienia się mantysa i cecha dla coraz mniejszych liczb.
Kiedy mantysa nie jest w postaci znormalizowanej?
Zadania - gnuplot
- Prosze odtworzyc
wykres znajdujacy sie na rysunku
- Przy pomocy gnuplot
prosze narysowac dane zgromadzone w pliku dane1.dat.
Aby wykres byl czytelny, jedna z osi musi miec skale logarytmiczna.
Prosze ustalic, ktora to os i narysowac wykres.
- Prosze narysowac
wykres funkcji dwywymiarowej, ktorej punkty znajduja sie w pliku dane2.dat. Prosze przegladnac plik i sprobowac
znalezc w nim maksimum. Potem prosze zlokalizowac maksimum wizualnie na
wykresie. Prosze na wykresie zaznaczyc maksimum jako notke (np. set
arrow).
GSL na MELETE
GSL
skompilowany na melete znajduje siż tutaj:
/afs/wszib/usr/b/a/balis/pub/gsl/
Najlatwiej
skompilowac program korzystajac z Makefile dostepnego tutaj.
Przed uruchomieniem należy ustawic jeszcze sciezke do bibliotek dzielonych
poleceniem:
export LD_LIBRARY_PATH=/afs/wszib/usr/b/a/balis/pub/gsl/lib
UWAGA! Program skompilowany na
melete moze nie dzialac na
komputerach w laboratoriach.
|