Category Archives: ONA

Obliczenia naukowe

ONA 11 – Różniczkowanie i całkowanie numeryczne

Dziś będziemy zajmować się różniczkowaniem i całkowaniem numerycznym. Slajdy są tu: ONA11-calkowanie

Przydatny będzie nam przede wszystkim pakiet scipy.integrate ale będziemy też korzystać z nowych funkcji pakietu matplotlib, takich jak wykresy strzałkowe

0. Na początek proponuje obejrzeć sobie program opisujący model Lotki-Volterry ( lotka_volterra ) i spróbować wykonać go po kawałku ze zrozumieniem. Jeśli są pytania, to proszę pytać

Continue reading

ONA – zadanie 3

UWAGA! Z rozmów z Państwem wynika, że potrzebne są pewne istotne wyjaśnienia:
1. Kwestia numeryki – spodziewane jest pojawianie się czasem problemów natury numerycznej spowodowanych złym uwarunkowaniem niektórych zadań interpolacji/aproksymacji. Trzeba to jakoś obsłużyć (wiadomość dla użytkownika, wykrywanie NAN/INF w wynikach, itp.) oraz opisać.
2. Nie interesują mnie porównania z efektywnością zapisu do plików (choć komentarze i rozważania n/t minimalnego narzutu na rozmiar pliku mogą być wartościowe). Kiedy piszę o “współczynniku kompresji” mam na myśli zmianę liczby bitów/bajtów potrzebnych do zapisu zestawu obrazków – tj. porównanie (liczby pikseli*liczba bitów reprezentacji piksela) vs. (liczba współczynników*liczba bitów reprezentacji współczynnika).

Nasze ostatnie i największe zadanie będzie łączyć tematykę aproksymacji i kompresji danych. Naszym celem będzie zaimplementowanie i przetestowanie prostego algorytmu do kompresji stratnej sekwencji podobnych obrazów.

Rozważmy przykładowy zestaw obrazów pochodzących z kamerki internetowej (wersja w osobnych plikach tutaj):

plaza

Continue reading

ONA 9 – Interpolacje funkcji

Tym razem zajmiemy się Interpolacją funkcji przy pomocy wielomianów i funkcji sklejanych.

Teoria z wykładu jeśli chodzi o wielomiany znajduje się tu a jeśli chodzi o funkcje sklejane tu.

Większość interesujących nas dzisiaj funkcji znajdziemy w module scipy.interpolate, ale najprostsze funkcje polyfit  i poly1d znajdują się w module numpy.  W module interpolate interesują nas funkcje:

Na laboratorium będziemy rozwiązywać następujące problemy:

Continue reading

ONA – Zadanie 2 – redukcja kolorów

Naszym drugim zadaniem będzie implementacja algorytmu pozwalającego na redukcję liczby kolorów w obrazie. Danymi wejściowymi będzie dla nas plik w formacie png, zawierający obraz w formacie RGB, oraz liczba kolorów (k, domyślnie 16), do których powinniśmy zredukować nasz obraz. Jako wynik zwracamy wynik redukcji, tj. nasz obraz wejściowy, ale przetworzony w taki sposób, że wszystkie piksele są w jednym z k kolorów.

Continue reading