Module also offered within study programmes:
General information:
Name:
Computational Software
Course of study:
2016/2017
Code:
JFT-1-303-s
Faculty of:
Physics and Applied Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Technical Physics
Semester:
3
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
dr hab. inż. Stęgowski Zdzisław (stegowski@fis.agh.edu.pl)
Academic teachers:
dr hab. inż. Stęgowski Zdzisław (stegowski@fis.agh.edu.pl)
dr hab. inż. Zimnoch Mirosław (zimnoch@agh.edu.pl)
dr inż. Gorczyca Zbigniew (Zbigniew.Gorczyca@agh.edu.pl)
Module summary

Głównym celem przedmiotu jest zdobycie wiedzy i umiejętności pozwalających na dalsze samodzielne stosowanie oprogramowania MATLAB w szerokim zakresie obliczeń, analiz i symulacji numerycznych.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K003 Student potrafi wykorzystać zdobytą wiedzę i dostępne formy pomocy do wykonania określonego projektu z zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych FT1A_K01 Participation in a discussion,
Execution of a project
M_K004 Student umie ocenić skalę trudności podjętego się zadania, ustalić harmonogram prac oraz potrafi współpracować w zespole. FT1A_K09, FT1A_K01 Participation in a discussion,
Execution of a project
Skills
M_U003 Student potrafi stworzyć własny skrypt oraz wykorzystać dostępne biblioteki do wykonania różnego typu obliczeń inżynierskich i symulacji komputerowych. FT1A_U11, FT1A_U08 Execution of laboratory classes
M_U004 Student potrafi wykorzystać szerokie możliwości Matlaba w zakresie graficznej prezentacji wyników obliczeń oraz danych pomiarowych. FT1A_U11, FT1A_U08 Execution of laboratory classes
M_U005 Student potrafi stworzyć stosunkowo zaawansowany graficzny interfejs użytkownika. FT1A_U11, FT1A_U08 Execution of a project,
Execution of laboratory classes
Knowledge
M_W003 Student uzyskuje wiedzę pozwalającą na konstruowanie algorytmów służących do rozwiązywania zagadnień z szerokiego zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych, poprzez zastosowanie pakietu MATLAB. FT1A_W04, FT1A_W05, FT1A_W06 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of exercises
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K003 Student potrafi wykorzystać zdobytą wiedzę i dostępne formy pomocy do wykonania określonego projektu z zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych + - + + - - - - - - -
M_K004 Student umie ocenić skalę trudności podjętego się zadania, ustalić harmonogram prac oraz potrafi współpracować w zespole. - - - + - - - - - - -
Skills
M_U003 Student potrafi stworzyć własny skrypt oraz wykorzystać dostępne biblioteki do wykonania różnego typu obliczeń inżynierskich i symulacji komputerowych. + - + - - - - - - - -
M_U004 Student potrafi wykorzystać szerokie możliwości Matlaba w zakresie graficznej prezentacji wyników obliczeń oraz danych pomiarowych. + - + - - - - - - - -
M_U005 Student potrafi stworzyć stosunkowo zaawansowany graficzny interfejs użytkownika. + - + + - - - - - - -
Knowledge
M_W003 Student uzyskuje wiedzę pozwalającą na konstruowanie algorytmów służących do rozwiązywania zagadnień z szerokiego zakresu obliczeń inżynierskich i naukowych oraz symulacji komputerowych, poprzez zastosowanie pakietu MATLAB. + - + + - - - - - - -
Module content
Lectures:
  1. Wprowadzenie do oprogramowania MATLAB (2 godz.)

    Omówienie podstawowych elementów i opcji okna aplikacji MATLAB oraz dostępnych form pomocy. Obliczanie wartości wyrażeń arytmetycznych z poziomu okna Command Window. Przedstawienie typów klas zmiennych:
    logiczne, znakowe, numeryczne, struktury, tablice komórek.

  2. Operacje matematyczne na wektorach i macierzach (2 godz.)

    Generowanie wektorów (ciągów), macierzy i tablic. Operacje na i pomiędzy wektorami, macierzami i tablicami. Numeryczna algebra liniowa. Tworzenie, uruchamianie i poprawianie skryptów. Tworzenie własnych funkcji, bibliotek oraz ustawianie ścieżek dostępu.

  3. Grafika dwuwymiarowa (2 godz.)

    Omówienie podstawowych procedur do prezentacji funkcji jednej zmiennej takich jak: plot, stairs, stem, bar, area, errorbar. Obsługa i ustawianie zmiennych obiektu okna figury oraz wykresu. Ustawianie tych zmiennych z poziomu skryptu. Tworzenie wykresów wielu funkcji (jednej zmiennej) w jednym lub wielu oknach figury. Graficzna prezentacja on-line wykonywanych obliczeń.

  4. Grafika trójwymiarowa (2 godz.)

    Formy danych do prezentacji funkcji wielu zmiennych (wektory, macierze, tablice trójwymiarowe). Omówienie podstawowych procedur do prezentacji funkcji dwóch zmiennej takich jak: plot3, contour, mesh,surf. Prezentacja skalarnych funkcji trzech zmiennych poprzez funkcje slice i isosurface. Prezentacja wektorowych funkcji wielu zmiennych poprzez funkcje streamslice, streamline i streamtube. Wybór mapy kolorów oraz projektowanie własnej mapy kolorów.

  5. Matlab-toolbox do obliczeń statystycznych (2 godz.)

    Przypomnienie podstawowych zagadnień z zakresu statystyki matematycznej takich jak: rozkłady prawdopodobieństwa zmiennych losowych dyskretnych, funkcje gęstości prawdopodobieństwa, dystrybuanta, funkcja odwrotna do dystrybuanty. Zastosowanie zawartych w Matlab-Statistics Toolbox funkcji do wyznaczania prawdopodobieństwa w zadanym przedziale zmiennych losowych, wyznaczania przedziałów ufności oraz testowania hipotez statystycznych. Wykorzystanie generatorów losowych, dla różnych rozkładów, do symulacji procesów stochastycznych.

  6. Matlab-toolbox do numerycznej obróbki i analizy zdjęć (2 godz.)

    Zapis obrazu (zdjęcia) w postaci tablicy RGB. Proste operacje numeryczne na tablicy obrazu. Podstawowe transformacje obrazu za pomocą funkcji zawartych w Matlab- Image Processing Toolbo. Cyfrowa filtracja obrazu. Regionalizacja obrazu. Analiza statystyczna obrazu.

  7. Tworzenie graficznego interfejsu użytkownika – GUI (3 godz.)

    Tworzenie okna figury GUI i omówienie podstawowych zmiennych do niego przypisanych. Omówienie podstawowych obiektów (kontrolek) takich jak: Edittext, Statictext, Pushbutton, Radiobutton, Slider, Axes. Omówienie funkcji do: obsługi zdarzeń, odczytu i zmiany parametrów oraz uchwytów do identyfikacji obiektów. Przedstawienie i dokładne omówienie tworzenia prostego kalkulatora. Przedstawienie i ogólne omówienie graficznych interfejsów do symulacji numerycznych oraz numerycznej analizy obrazów.

Laboratory classes:
  1. wprowadzenie do oprogramowania MATLAB

    Efekty kształcenia:

    • student potrafi obsługiwać okno aplikacji MATLABa w podstawowym zakresie,
    • student potrafi korzystać z dostępnych rodzajów pomocy w MATLABie.
    • student rozróżnia typy zmiennych i umie je tworzyć,
    • student potrafi konstruować dowolne wyrażenia matematyczne i wykonywać obliczenia.

  2. operacje matematyczne na wektorach i macierzach

    Efekty kształcenia:

    • student potrafi stworzyć tablicę wielowymiarową, a w szczególności wektor (ciąg) oraz macierz,
    • student potrafi wykonywać działania matematyczne na wektorach i macierzach zgodnie z zasadami algebry,
    • student potrafi zdefiniować wybrany obszar w tablicy i wykonać na nim określoną operację,
    • student potrafi numerycznie rozwiązać układ równań algebraicznych.

  3. tworzenie skryptów oraz grafika dwuwymiarowa

    Efekty kształcenia:

    • student potrafi stworzyć plik linii skryptów, uruchomić go oraz zidentyfikować i poprawić błędy,
    • student potrafi wykonać wykres funkcji jednej zmiennej za pomocą funkcji plot,
    • student potrafi ustawić zmienne obiektu okna figury oraz wykresu z poziomu skryptu,
    • student potrafi prezentować graficznie wyniki obliczeń w trakcie ich wykonywania .

  4. czytanie i zapisywanie danych w formacie ASCII (tekstowym)

    Efekty kształcenia:

    • student potrafi wczytać dowolne dane z plików zapisanych w formacie tekstowym,
    • student zna i potrafi użyć podstawowe formaty do zapisu zmiennych liczbowych i ciągów znakowych,
    • student potrafi w sposób w pełni kontrolowany zapisywać dane w plikach tekstowych .

  5. grafika trójwymiarowa

    Efekty kształcenia:

    • student potrafi wykonać wykres funkcji dwóch zmiennych za pomocą funkcji plot3, contour, mesh,surf.
    • student potrafi zmieniać mapę kolorów oraz zaprojektować własną mapę kolorów,
    • student potrafi wykonać wykres skalarnych funkcji trzech zmiennych poprzez funkcje slice i isosurface.

  6. obliczenia symboliczne

    Efekty kształcenia:

    • student potrafi tworzyć obiekty symboliczne i rozumie ich istotę,
    • student potrafi wykonywać następujące operacje na obiektach symbolicznych: liczyć pochodne, całki, sumy, rozwiązywać równania algebraiczne, rozwiązywać równania różniczkowe zwyczajne.

  7. dopasowywanie funkcji do danych pomiarowych

    Efekty kształcenia:

    • student potrafi dopasować jedno i dwuwymiarową funkcję liniową i nieliniową do danych pomiarowych,
    • student potrafi dokonać ilościowej analizy jakości dopasowania.

  8. numeryczna obróbka i analiza obrazów

    Efekty kształcenia:

    • student potrafi wykonać proste operacje numeryczne na tablicy RGB obrazu,
    • student potrafi wykonać różne transformacje obrazu za pomocą funkcji zawartych w Matlab- Image Processing Toolbox,
    • student potrafi dokonać różnych analiz numerycznych ( w tym statystycznych) obrazu.

  9. tworzenie graficznego interfejsu użytkownika – GUI

    Efekty kształcenia:

    • student potrafi stworzyć prosty interfejs graficzny (np. kalkulator matematyczny, prezentacja zmiany kształtu funkcji poprzez zmianę jej parametrów.),
    • student potrafi zastosować odpowiedni obiekt GUI do realizacji określonego zadania.

Project classes:
PROJEKT ZESPOŁOWY

Studenci w zespołach dwuosobowych realizują projekty. Każdy z projektów obejmuje stworzenie graficznego interfejsu użytkownika do określonego zagadnienia. Tematy projektów muszą zawierać stosunkowo zaawanasowane zagadnienia z zakresu symulacji numerycznych lub analizy danych, sygnałów lub obrazów. Tematy projektów uzgadniane są ze studentami tak, aby były zgodne z ich merytorycznym przygotowaniem i uwzględniały ich indywidualne zainteresowania.

Efekty kształcenia:

  • student potrafi ocenić skale trudności (złożoności) realizowanego projektu,
  • student potrafi efektywnie wykorzystać uzyskane umiejętności do wykonania projektu,
  • student potrafi samodzielnie wykorzystać dostępne formy pomocy, w MATLABie, do realizacji projektu,
  • student potrafi ustalić harmonogram prac i ustalić podział pracy w zespole,
  • student potrafi współpracować w zespole realizując swoją część zadania,

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 103 h
Module ECTS credits 4 ECTS
Participation in lectures 15 h
Participation in laboratory classes 20 h
Participation in project classes 8 h
Realization of independently performed tasks 20 h
Completion of a project 25 h
Preparation for classes 15 h
Additional information
Method of calculating the final grade:

W ramach laboratorium komputerowego studenci wykonują w semestrze około czterech zadanych ćwiczeń, które są oceniane. W trakcie zajęć laboratoryjnych oceniana jest aktywność studentów i wiedza uzyskana na wykładach. Ocena z projektu jest wynikiem złożoności wybranego tematu, jakości wykonanego graficznego interfejsu oraz oceny kreatywności i umiejętności pracy w zespole.

Ocena końcowa z modułu obliczana jest, jako średnia ważona z: średniej oceny z ćwiczeń wykonywanych na laboratorium (35%), oceny aktywności na laboratorium i wiedzy uzyskanej na wykładach (15%) oraz oceny z projektu (50%).

Prerequisites and additional requirements:

• dobre przygotowanie z modułów matematyki i fizyki realizowanych na studiach inżynierskich,
• dobre przygotowanie z modułu postawy informatyki realizowanego na studiach inżynierskich.

Recommended literature and teaching resources:
  • Jerzy Brzózka, Lech Dorobczyński, „MATLAB : środowisko obliczeń naukowo-technicznych”, wyd. MIKOM, 2005.
  • Marek Czajka, „Ćwiczenia Matlab”, wyd. Helion, 2005.
  • Rudra Pratap, „MATLAB 7 dla naukowców i inżynierów”, wyd. PWN, 2009.
    MATLAB Documentation – http://www.mathworks.com/help
Scientific publications of module course instructors related to the topic of the module:

Lista publikacji z stosowaniem oprogramowania MATLAB do obliczeń, analiz i symulacji numerycznych.

A synchrotron radiation micro-X-ray absorption near edge structure study of sulfur speciation in human brain tumors – a methodological approach / Magdalena SZCZERBOWSKA-BORUCHOWSKA, Zdzisław STĘGOWSKI, Marek LANKOSZ, Małgorzata Szpak, Dariusz Adamek // Journal of Analytical Atomic Spectrometry ; ISSN 0267-9477. — 2012 vol. 27 iss. 2, s. 239–247.

Badania znacznikowe i modelowanie komputerowe wybranych układów przepływowych : rozprawa habilitacyjna — Tracer investigations and computer modelling for selected flow systems / Zdzisław STĘGOWSKI. — Kraków : Wydział Fizyki i Informatyki Stosowanej AGH, 2010. — 143 s

Determination of flow patterns in industrial gold leaching tank by radiotracer residence time distribution measurement / Zdzisław STĘGOWSKI, Christian P. K. Dagadu, Leszek FURMAN, Edward H. K. Akaho, Kweku A. Danso, Ishmael I. Mumuni, Patience S. Adu, Charles Amoah // Nukleonika : the International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2010 vol. 55 no. 3, s. 339–344.

Dispersion determination in a turbulent pipe flow using radiotracer data and CFD analysis / Sugiharto, Zdzisław STĘGOWSKI, Leszek FURMAN, Zaki Su’ud, Rizal Kurniadi, Abdul Waris, Zainal Abidin // Computers & Fluids ; ISSN 0045-7930. — 2013 vol. 79, s. 77-81.

Emission of styrene from polystyrene foam and of cyclopentane from polyurethane foam – measurements and modelling — Emisja styrenu z pianki styropianowej i cyklopentanu z pianki poliuretanowej – pomiary i modelowanie / Maciej Choczyński, Barbara Krajewska, Zdzisław STĘGOWSKI, Jarosław NĘCKI // Polimery ; ISSN 0032-2725. — 2011 t. 56 nr 6, s. 461–470.

Preliminary PM2.5 and PM10 fractions source apportionment complemented by statistical accuracy determination / Lucyna SAMEK, Zdzisław STĘGOWSKI, Leszek FURMAN // Nukleonika : the International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2016 vol. 61 no. 1, s. 75–83.

Simultaneous measurement of {Cr, Mn} and {Fe} diffusion in chromium-manganese steels / Joanna DUDAŁA, Jolanta GILEWICZ-WOLTER, Zdzisław STĘGOWSKI // Nukleonika : The International Journal of Nuclear Research / Institute of Nuclear Chemistry and Technology, Polish Nuclear Society, National Atomic Energy Agency ; ISSN 0029-5922. — 2005 vol. 50 s. 67–71.

Additional information:

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:

ćwiczenia laboratoryjne: usprawiedliwiona nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału i jego zaliczenia w formie i terminie wyznaczonym przez prowadzącego zajęcia obecność na wykładzie: zgodnie z Regulaminem Studiów AGH

Zasady zaliczania zajęć:

ćwiczenia laboratoryjne: podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. Student może dwukrotnie przystąpić do poprawkowego zaliczania. Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia i jego cząstkowe wyniki w nauce były negatywne może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.

Dlaczego warto poznać pakiet obliczeniowy MATLAB?
- jest powszechnie nauczany na uczelniach całego Świata,
- posiada przyjazne dla użytkownika, interakcyjne środowisko,
- programowanie odbywa się w języku wysokiego poziomu,
- pozwala poznawać metody matematyczne w praktyce,
- staje się najczęściej używanym narzędziem do wykonywanie: obliczeń naukowych i inżynierskich, modelowania i symulacji, analizy danych (w tym: sygnałów i obrazów), graficznej wizualizacji danych i wyników obliczeń,
- posiada bardzo obszerną i przystępnie napisaną dokumentację (w j. angielskim), wraz z przykładami
i systemami pomocy,
- specjalistyczne „toolbox’y” (ok.30 – zestawów procedur i funkcji) pozwalają na jego efektywne stosowanie
w wielu dziedzinach nauki i techniki,
- istnieje kilkadziesiąt pozycji książkowych (ok. 70) dotyczących MATLABa, w języku polskim jest ich kilkanaście,
- jest ciągle rozwijany i wzbogacany,
- znając Matlaba jest się przygotowanym do stosowania jego odpowiedników OCTAVE, SCILAB, FREEMAT.