Biocentrum Ochota - Grafen

Infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny

MATLAB

MATLAB to środowisko do obliczeń numerycznych wykorzystujące własny język programowania wysokiego poziomu. Nazwa MATLAB pochodzi od słów “Matrix Laboratory”, ponieważ pierwotnym przeznaczeniem programu były operacje na macierzach. MATLAB umożliwia także rysowanie dwu- i trójwymiarowych wykresów funkcji oraz wizualizację wyników w postaci obrazów statycznych lub animacji.

Początki programu sięgają lat siedemdziesiątych. Jego twórca, Cleve Moler z Uniwersytetu stanu Nowy Meksyk, chciał ułatwić studentom korzystanie z bibliotek języka Fortran do obliczeń macierzowych bez konieczności programowania w tym języku. W 1983 roku program został przepisany w języku C, a w 1984 roku powstała firma MathWorks, która zajmuje się rozwojem MATLABa.

Praca w MATLABie może odbywać się w trybie interaktywnym poprzez okno konsoli lub przez wywoływanie skryptów i funkcji. Wszelkie wprowadzone lub deklarowane dane MATLAB traktuje jako macierz – pojedyncza liczba to macierz o wymiarze 1×1. W MATLABie nie występuje deklarowanie typów zmiennych. MATLAB rozpoznaje typ zmiennej automatycznie, wymagane jest tylko odpowiednie wywołanie.

Język programowania MATLABa jest pełnoprawnym językiem wysokiego poziomu. Jego składnia wzorowana jest na składni języka C. Posiada znane z innych języków instrukcje sterujące (if, for, while, switch); umożliwia także programowanie obiektowe.

Toolbox.

Biblioteki dodatkowe (ang. toolboxes) to zestaw funkcji (w postaci m-plików) do rozwiązywania specjalistycznych problemów z określonych dziedzin. Biblioteki te rozszerzają możliwości MATLABa i pisane są także przez innych producentów oprogramowania.

Przykłady toolboksów:

  • Financial Toolbox – analiza i obliczenia finansowe.
  • Fuzzy Logic Toolbox – projektowanie i diagnostyka inteligentnych układów sterowania z wykorzystaniem logiki rozmytej.
  • Image Processing Toolbox – przetwarzanie obrazów.
  • Parallel Computing Toolbox – programowanie równoległe, obliczenia na GPU.
  • Partial Differential Equation Toolbox – numeryczne rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych.
  • Simulink – modelowanie, symulacja i analiza układów dynamicznych, zawiera graficzny interfejs użytkownika umożliwiający konstruowanie modeli w postaci diagramów blokowych.

Programowanie równoległe.

Parallel Computing Toolbox (PCT) pozwala na przyspieszenie obliczeń przez zastosowanie przetwarzania równoległego. Może być to realizowane na kilka sposobów:

  • algorytmy przetwarzania równoległego we wbudowanych funkcjach;
  • konstrukcje języka programowania: pętla parfor, distributed arrays, SPMD;
  • równoległa praca na lokalnych rdzeniach CPU;
  • klaster obliczeniowy MATLABa – MATLAB Distributed Computing Server;
  • obliczenia na GPU.

Linki:

  1. Strona główna: http://www.mathworks.com/
  2. Dokumentacja: http://www.mathworks.com/help/

Publikacje:

  1. J.H. Wilkinson, C. Reinsch, Handbook for Automatic Computation, Springer, 1971.
  2. http://www.mathworks.com/company/newsletters/articles/the-origins-of-matlab.html
  3. http://www.tech.plym.ac.uk/spmc/links/matlab/matlab_papers.html