Programowanie i metody numeryczne - cz. II

Zajęcia nieobowiązkowe dla chętnych z II roku studiów I stopnia na kierunku Astronomia, rok akademicki 2017/2018, semestr letni

Piszemy bardziej zaawansowane programy, nadal w "czystym C". W planie mamy 6 programów na zaliczenie, w tym jeden indywidualny projekt.

Reguły wymagania obecności: maksymalnie 2 nieusprawiedliwione, punktualność!!!

Cel tych zajęć: myśleć i rozumieć. Nic na pamięć, dowolne notatki lub podręczniki, również na kartkówkach i kolokwiach i w trakcie zaliczania zadań.

Reguły oceniania: obowiązuje zaliczenie co najmniej 5 zadań w tym własnego projektu (ale na bdb wszystkie 6 zadań), aktywność, możliwe kolokwium zaliczeniowe z dopytaniem

Dziennik Lekcyjny happy smiley




Zadania

Opis metody

  1. Program rozwiązywania układu równań liniowych metodą Gaussa z częściowym wyborem elementu głównego: czytanie danych macierzowych z pliku, sortowanie, kontrola poprawności danych wejściowych, operacje na macierzach, wielokrotnie zagnieżdżone pętle, parametryzacja algorytmu. Dla ambitnych studentów, propozycja dodatkowa: wymyślić i zastosować sposób kodowania w plikach danych współczynników w postaci ułamków, tak jak to jest w zestawach 1 i 4. Zestawy danych. test do zest.2

Opis biblioteki PGPLOT

  1. Elementy programowania grafiki z użyciem biblioteki PGPLOT: używanie dodatkowych bibliotek, techniki rysowania, tworzenie wykresów, histogramów itp. Tegoroczny (wiosna 2018) temat:"Wieża Eifla w Paryżu.".
Obrazek 1
W roku 2008 tematem
przewodnim były
Słoneczniki Van Gogha.
Jeden ze studentów solidnie
się napracował jak widać!
[Wersja postscriptowa]

O równaniu Keplera

  1. Program rozwiązywania równania przestępnego pięcioma metodami na przykładzie eliptycznego równania Keplera: wstępna analiza równania, graficzne szacowanie rozwiązania jako przykład otrzymywania danych startowych dla iteracji, przeliczenia danych kątowych, metoda iteracji prostej, metoda Newtona, metoda siecznych, metoda bisekcji, metoda "Regula falsi", graficzne porównanie dokładności i efektywności pięciu metod dla różnych mimośrodów i losowanych anomalii średnich. Na wykresie ma byc na osi poziomej parametr dokładności a na osi pionowej czas obliczeń każdej z metod. Wszystkie metody mają być napisane jako osobne, własne funkcje. Dane testowe     Czas obliczeń mierzymy funkcją clock().
  2. Praca z wielkim plikiem danych na przykładzie katalogu Tycho-2: wskaźniki w języku C, wyszukiwanie, sortowanie, wybieranie podzbiorów, histogramy rozkładów różnych parametrów z użyciem PGPLOT-a. Szczegółowy opis tego zadania. Na pracowni, w katalogu /home/COMMON/dydaktyka/PAD_programowanie jest mój program testowy do porównania.      Kilka słów o wskaźnikach w C
  3. Badanie zależności dokładności i czasu całkowania numerycznego w zależności od długości kroku całkowania. Opis zadania.
  4. Indywidualny projekt programistyczny studenta (własny lub wybrany z listy propozycji).


Przypomnienie: o generatorze liczb losowych

Uzupełnienie: kilka słów o strukturach w C

Uzupełnienie 2: Środowisko programistyczne - wprowadzenie (patrz projekt Geany).    Tips & Tricks


Lista proponowanych zadań indywidualnych

(w nawiasie szacowana trudność w skali od 1 do 15)

Tematy astronomiczne:


  1. Mapy gwiazdozbiorów (10-15)
  2. Wirtualny teleskop w oparciu o katalog gwiazd (12 - 15)
  3. Współrzędne prostokątne i sferyczne planet z elementów średnich (7)
  4. Program do konwersji starych oznaczeń komet na nowe, Dane (8)
  5. Wschody i zachody Słońca (10 - 15) Patrz na przykład tu i tu.
  6. Wschody i zachody Księżyca (10 - 15)Patrz na przykład tu i tu.
  7. Geocentryczna (10) lub topocentryczna(15) efemeryda planetki
  8. Geocentryczna efemeryda planet oparta na efemerydzie JPL DE421 (15).
  9. Miejsca widome gwiazd (8 - 15)
  10. Momenty faz Księżyca w danym roku (dzień, godzina, minuta) w czasie urzędowym w Polsce (8)
  11. Elementy -> pozycje -> elementy -> pozycje dla dowolnego mimośrodu (12)
  12. Elementy orbity z dwóch położeń (12)
  13. Analityczne i numeryczne pochodne położeń po elementach (8)
  14. Diagramy HR dla różnych podzbiorów katalogu Hipparcos (12-14)
  15. Topocentryczna efemeryda gwiazdy w układzie horyzontalnym plus kąt godzinny (8-12)
  16. Rozwiązanie dowolnego trójkąta sferycznego (8-12)
  17. Przeliczanie miejsc średnich pomiędzy epokami czyli precesja i ruchy własne (12)
  18. Testowanie dopasowania prostej metodą najmniejszych kwadratów (10 - 14)

Tematy nieastronomiczne:


  1. Gra w kółko i krzyżyk do 5 na planszy 19x19 (10 - 15)
  2. Wyliczenie pierwszych 200 cyfr liczby e lub π (12)
  3. Czterodziałaniowy kalkulator o dowolnej precyzji (15)
  4. Gra w numerki (8)
  5. Grafika - wypełnianie dowolnego wielokąta (12)
  6. Grafika - własna biblioteka graficzna (10-15)
  7. Gra LIFE (8 - 12)
  8. Korekta ortograficzna tekstu polskiego (10 - 15)
  9. Grafika - obroty trójwymiarowej bryły (12 - 15)
  10. Gra Mu-Torere ( http://www.lutanho.net/play/mutorereshisima.html )
  11. Gra w zapałki (8-12). Gra znana jako NIM, wariant z filmu "L'année dernière à Marienbad" ( Last Year at Marienbad )


Przykładowa literatura

  1. A. Ralston, Wstęp do analizy numerycznej, PWN, 1971
  2. G. Dahlquist, A. Bjorck, Metody numeryczne, PWN, 1983
  3. J. Legras, Praktyczne metody analizy numerycznej, WNT, 1974
  4. J. Stoer, Wstęp do metod numerycznych, tom 1., PWN, 1979
  5. M. Dryja, J. M. Jankowscy, Przegląd metod numerycznych, cz.2., WNT, 1982
  6. http://www.astro.caltech.edu/~tjp/pgplot/
  7. http://www.moshier.net/
  8. http://astro.if.ufrgs.br/trigesf/position.html
  9. http://aa.quae.nl/en/antwoorden/