Wykład szczególnie polecany studentom, którzy w ramach pracy magisterskiej bądź zawodowej będą prowadzić rozmaite symulacje numeryczne. Na wykładzie zostaną omówione zaawansowane metody numeryczne rozwiązywania wybranych zagadnień matematyki stosowanej. Obliczenia naukowe wymagają zazwyczaj dużej mocy obliczeniowej, dlatego na wykładzie zajmiemy się także konsekwencjami pewnych detali architektury komputera (np. pamięć hierarchiczna, superskalarność i wieloprocesorowość) dla efektywności algorytmów numerycznych. Istotnym punktem zajęć laboratoryjnych będzie nauczenie słuchaczy skutecznego wykorzystania oprogramowania naukowego.
Niektóre z omawianych problemów są przedstawione w portalu mst.mimuw.edu.pl.
Treści zadań z kolokwium są powieszone poniżej.
Obliczenia naukowe: po co, dla kogo, jak. Systemy obliczeniowe: symboliczne i numeryczne. Przykłady zastosowań. MATLAB, Octave i Scilab. Działania na wektorach i macierzach (działania arytmetyczne, w tym A*B kontra A.*B, potęgowanie, funkcje). Tworzenie i usuwanie macierzy. Notacja dwukropkowa i zestawy indeksów. Rozwiązywanie układu równań: x=A\b. Kilka
przydatnych funkcji tworzących obiekty: linspace, eye, ones, zeros, rand.
Wprowadzenie do środowiska. help, wybrane funkcje matematyczne. Funkcje porządkowe save, load, whos.
Programowanie w MATLABie i Octave: skrypty kontra funkcje. Zmienne globalne. Podstawowe konstrukcje sterujące: if, switch, while, for, operatory logiczne & (and), | (or), ~ (negacja), == (równość), ~= (nierówność). Wejście/wyjście: disp, printf, fopen, fprintf, fscanf, fclose.
Algebra liniowa: \ (LZNK), rozkłady lu, qr, svd, eig i ich wykorzystanie. Funkcje pomocnicze cond, norm, size.
Numeryczna klasyka w Octave (równania nieliniowe, całkowanie, interpolacja i aproksymacja; wielomiany i splajny; FFT). Krótkie wprowadzenie do solverów RRZ.
Rozwiązywanie RRZ w Octave i w MATLABie (trochę inaczej). Dygresja o równaniach z opóźnieniem. Przekazywanie funkcji do innej funkcji.
Zaliczenie na podstawie wyniku kolokwium, w przeciwnym razie - warunkowe dopuszczenie do egzaminu. Egzamin w laboratorium, będą zadania do wykonania na bieżąco na komputerze (w działaniu zobaczycie to Państwo na kolokwium). Ostatnie zadania pojawiające się na tym przedmiocie:
A oto zadania, jakie pojawiały się na egzaminach w latach, gdy wykład prowadził L. Marcinkowski:
Są to bardzo wygodne w użyciu środowiska obliczeń numerycznych i wizualizacji. W naszym labie są dostępne oba, leczy tylko Octave jest darmowy. Warto zaznaczyć, że z Octave można także korzystać wprost przez przeglądarkę internetową, dzięki narzędziu opracowanemu jako jeden z projektów Koła Naukowego Numeryków przy naszym wydziale.
Komendy MATLABa i Octave są praktycznie identyczne, a różnice dotyczą tylko subtelności składni (fajniejsza jest w Octave) oraz interfejsu i narzędzi użytkownika/programisty (tu zdecydowanie wygrywa MATLAB). MATLAB też często działa szybciej, co jednak w naszym przypadku nie będzie odgrywało żadnej roli.
Szybki wstęp do Octave i MATLABa. Więcej dowiesz się o tych systemach, sięgając po dodatkowe materiały.