Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 7 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B
Plan prezentacji Praca z repozytorium kodu Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
GNU Scientific Library to zbiór implementacji numerycznych metod obliczeniowych. Biblioteka została napisana w języku C, ale możliwe jest jej wywoływanie z języków wysokiego poziomu. Kod jest rozpowszechniany w oparciu o licencję GNU General Public License.
GNU Scientific Library udostępnia wiele struktur i funkcji pozwalających na wykonywanie obliczeń związanych między innymi z: liczbami zespolonymi, wielomianami, sortowaniem, algebrą liniową, liczbami losowymi, różniczkowaniem i całkowaniem numerycznym.
Kod źródłowy biblioteki GSL jest ogólnodostępny (http://www.gnu.org/software/gsl/ ). Pliki skompilowane (dla systemu Windows) są dostępne na stronie: http://www.neff.co.at/2017/05/01/gsl-and- FGSL-for-CodeBlocks-16.01.html
Konfiguracja Code::Blocks i GSL pobrany plik gsl-2.3.zip należy rozpakować na dysku, w środowisku Code::Blocks należy edytować ustawienia kompilatora (menu Settings -> Compiler ), w zakładce Linker settings należy dodać skompilowane pliki biblioteki (pliki *.a w katalogu lib), w zakładce Search directories należy dodać ścieżkę dostępu do katalogu include (zawierającego pliki nagłówkowe).
Pliki nagłówkowe napisano w taki sposób, aby możliwe było wywoływanie biblioteki GSL bezpośrednio z programów języka C++
Przykładowy program
Wyznaczenie pierwiastków wielomianu
Wyznaczenie pierwiastków wielomianu
Rozwiązywanie układu równań Ax = b
Rozwiązywanie układu równań Ax = b
Rozwiązywanie układu równań Ax = b
Rozwiązywanie układu równań Ax = b
Rozwiązywanie równań różniczkowych zwyczajnych ogólna postać układu równań różniczkowych dy i dt t 1 f t, y t, y t dla i 1, n i n macierz Jacobiego J ij f t, y t i y j
Rozwiązywanie równań różniczkowych zwyczajnych Przykład równanie nieliniowego oscylatora Van der Pola 2 u '' t u ' t u t 1 u t 0 po podstawieniu v u ' t otrzymujemy układ równań u' v v ' u v 1 u 2
Rozwiązywanie równań różniczkowych zwyczajnych Program rozwiązuje zagadnienie początkowe: układ równań różniczkowych dla μ = 10 z warunkiem początkowym (u, v) = (1, 0) na zakresie zmiennej niezależnej t od 0 do 100. Program wyświetla rozwiązania wartości funkcji u oraz v dla t i = 1, 2, 100.
Rozwiązywanie równań różniczkowych zwyczajnych
Rozwiązywanie równań różniczkowych zwyczajnych
Rozwiązywanie równań różniczkowych zwyczajnych
Rozwiązywanie równań różniczkowych zwyczajnych
Rozwiązywanie równań różniczkowych zwyczajnych 2,50 2,00 1,50 1,00 0,50 0,00-0,50 0 20 40 60 80 100-1,00-1,50-2,00-2,50
Praca z repozytorium kodu Na przykładzie repozytorium bitbucket.org przy współpracy z programem Sourcetree. https://bitbucket.org/product https://www.sourcetreeapp.com
Praca z repozytorium kodu tworzenie repozytorium modyfikacja zatwierdzanie zmian wysyłanie repozytorium pobieranie repozytorium
Podsumowanie Praca z repozytorium kodu