Matlab

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
en.jpg

< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie naukowe < Matlab

Matlab
Matlab1.png
Serwer Wersja
Bem R2017b
R2016a
Klaster kampusowy R2015a
Kontakt
kdm@wcss.pl

MATLAB jest środowiskiem obliczeniowym przeznaczonym dla inżynierów i naukowców, umożliwiającym przeprowadzanie obliczeń matematycznych, analizy numerycznej, wizualizacji otrzymanych wyników (2D, 3D), jak również tworzenie algorytmów i programów. Język MATLAB-a jest intuicyjny i wygodny w użyciu, co sprawia, że opracowanie algorytmów jest prostsze niż w przypadku takich języków programowania jak C czy Fortran.

Informacje ogólne

Główne funkcjonalności MATLAB-a:

  • obliczenia numeryczne do szybkiego generowania wyników
  • grafika do wizualizacji i analizy danych
  • interaktywny język i środowisko programistyczne
  • narzędzia do budowy własnego GUI
  • integracja z zewnętrznymi aplikacjami składającymi się z komponentów C, C++, Fortran, Java, COM, Excel.
  • import danych z plików i urządzeń zewnętrznych (dodatkowo dostęp do baz danych i kolejnych urządzeń)
  • konwersja aplikacji MATLAB-a na C i C++ przy użyciu kompilatora.

Licencja udostępniana przez WCSS

Aktualnie dostępna wersja to R2017b dla systemów Linux (x86, x86_64), Mac (Intel) i Windows (Server 2008, Server 2008R2, XP SP3, Vista, 7). Wymagania pakietu: http://www.mathworks.com/support/sysreq/ Pliki instalacyjne można pobrać z serwera FTP.

W skład pakietu wchodzi szereg dodatkowych narzędzi rozszerzających jego możliwości, ukierunkowanych na rozwiązywanie zadań z danego obszaru. WCSS udostępnia licencję obejmującą szereg pakietów, są to:

  • Matlab (30) - pakiet główny
  • Bioinformatics Toolbox (1)
  • Communications System Toolbox (5) - rozszerza środowisko Matlab o funkcje, wykresy i graficzny interfejs użytkownika stosowane do badania, projektowania, analizy i symulacji algorytmów warstwy fizycznej systemów komunikacji (np. systemy wireless, wireline). Stosowany głównie do pre- i post-processingu.
  • Curve Fitting Toolbox (1) - poprzez interfejs graficzny i command-line udostępnia funkcje dla różnych aplikacji typu curve-fitting.
  • Data Acquisition Toolbox (1) - zestaw funkcji M-file i dynamicznych bibliotek (DLL) MEX-file napisanych w oparciu o środowisko obliczeniowe MATLABa.
  • Spreadsheet Link EX (2) - pakiet pozwala na integrację Matlaba z programem Microsoft Excel.
  • Filter Design HDL Coder (1)
  • Fixed-Point Toolbox (1)
  • Fuzzy Logic Toolbox (1) - rozszerza środowisko MATLABa o narzędzia do projektowania systemów opartych o logikę rozmytą.
  • Global Optimization Toolbox (1)
  • Image Processing Toolbox (1) - przetwarzanie obrazów
  • Neural Network Toolbox (10) - projektowanie i symulacja sieci neuronowych
  • Optimization Toolbox (10) - rozszerza środowisko Matlaba o narzędzia i algorytmy do optymalizacji.
  • Signal Processing Toolbox (10) - przetwarzanie sygnałów
  • DSP System Toolbox (6)- symulacja procesów cyfrowej obróbki sygnałów
  • Simulink (30) - interaktywne środowisko przeznaczone do modelowania, symulacji i analizy dynamicznych systemów.
    • Simulink Design Optimization (1) - zawiera także Simulink Response Optimization, interfejs graficzny (GUI) do dostrajania i optymalizowania systemów sterowania i fizycznych.
    • Simulink Fixed-Point (1)
  • HDL Coder, dawniej Simulink HDL Coder (1)
  • Matlab Coder (1)
  • Matlab Compiler (1)
  • Matlab Compiler SDK (1)
  • Statistics Toolbox (1)
  • Wavelet Toolbox (1)
  • Parallel Computing Toolbox (5)
  • Distributed Computing Engine (32)

Licencje zdezaktualizowane:

  • Communications Blockset (5) - rozszerza pakiet Simulink o bibliotekę elementów konstrukcyjnych służących do budowy i symulacji fizycznej warstwy systemów i komponentów komunikacji.
  • Filter Design Toolbox (1)

Informacje o wykorzystaniu

Wszelkie publikacje, (w tym prace doktorskie i dyplomowe) wykorzystujące wyniki obliczeń wykonanych na komputerach WCSS, powinny zawierać podziękowania postaci (odpowiednio do języka publikacji):

"Obliczenia wykonano na komputerach Wrocławskiego Centrum Sieciowo-Superkomputerowego (http://www.wcss.pl), grant obliczeniowy Nr ... "

"Calculations have been carried out in Wroclaw Centre for Networking and Supercomputing (http://www.wcss.pl), grant No. ..."

Uruchamianie na klastrze Bem

MATLAB dostępny jest na klastrze Bem (katalog instalacji odpowiednio: /usr/local/matlab/WERSJA).

Praca interaktywna na klastrze

  • Przed zdalnym uruchomieniem aplikacji w trybie graficznym należy połączyć się ze zdalnym pulpitem za pomocą programu NoMachine Instrukcja
  • Następnie w celu pracy interaktywnej z aplikacją należy uruchomić zadanie interaktywne w kolejce, z opcją -X, np.:
> qsub -I -X -l walltime=6:00:00
Środowisko aplikacji

MATLAB pobiera ustawienia środowiska z pliku .matlab7rc.sh. Przed uruchomieniem pobiera plik z pierwszej lokalizacji, kolejno przeszukuje: ./ (kat. bieżący), $HOME (kat. domowy użytkownika), $MATLAB/bin (kat. domyślny). Wzorcowy plik .matlabXrc.sh znajduje się w katalogu instalacji danej wersji MATLAB-a $MATLAB_TOP/bin/. Użytkownik może skopiować ten plik do swojego katalogu domowego i zmienić w razie potrzeby ustawione wartości zmiennych: ARCH, LD_LIBRARY_PATH, LM_LICENCE_FILE, MATLAB (wskazuje na katalog instalacji) i kilku innych.

Przed użyciem MATLABa należy załadować odpowiedni moduł.

> module load matlab

Powyższe polecenie wczyta domyślną wersję. Można też wybrać konkretną wersję modułu wydając polecenie:

> module load matlab/R2015a
> module load matlab/R2014b

Aby sprawdzić ustawienia przesyłane do MATLAB-a podczas uruchamiania wystarczy wydać polecenie:

> matlab -n

Aplikacja nie zostanie przy tym uruchomiona.

Uruchamianie aplikacji

Do uruchamiania programu służy polecenie:

> matlab

Wstawianie zadań wsadowych do kolejki

Aby wstawić zadanie MATLAB-a do kolejki PBS na klastrze Bem należy przesłać na klaster pliki wejściowe zadania (lub przygotować je na klastrze pracując interaktywnie, jak opisane powyżej), zalogować się na klaster i następnie posłużyć poleceniem qsub lub skorzystać z gotowego skryptu sub-matlab (uruchamia domyślną wersję programu)

Uruchomienie skryptu bez podania argumentów wyświetli podpowiedź jak należy te argumenty specyfikować:

> sub-matlab
Usage: /usr/local/bin/sub-matlab input_file [parameters]
Parameters:
-q queue (default - main)
-p cores (default - 1)
-m memory (in MB, default - 2000)
-w walltime (in hours, default - 504)


Na przykład

> sub-matlab test.inp -q main -p 2 -m 4000 -w 2 

Zadanie uruchomione zostanie na 2 rdzeniach (w obrębie jednego węzła), wymaga 4000 MB RAM (po 2000 MB na proces), walltime zadania jest równy 2 godziny.


Uwaga

Na klastrze Bem zadania należy zlecać do kolejki main. Jest to kolejka przekierowująca - na podstawie podanego limitu czasu (walltime) zadania będą przenoszone do odpowiednich kolejek (np. normal, infinity).

Zobacz też: Jak korzystać z kolejek PBS?

Uruchamianie na infrastrukturze PLATON-U3

Chcąc pracować interaktywnie z MATLAB-em można skorzystać z infrastruktury PLATON-U3 (klaster kampusowy). Należy w tym celu zarejestrować się w portalu usługi jako użytkownik w WCSS (https://wcss.cloud.pionier.net.pl) i następnie założyć w portalu odpowiednią rezerwację na maszynę wirtualną z zainstalowanym MATLAB-em (szczegółowe instrukcje na stronie usługi).

Uruchamianie na własnych komputerach

KDM WCSS umożliwia uruchamianie Matlaba na własnych komputerach przy zdalnym wykorzystaniu licencji udostępnianej przez WCSS. Pliki instalacyjne można pobrać z serwera FTP. Dostęp do serwera licencji możliwy jest poprzez system VPN.

Przed uruchomieniem instalacji należy stworzyć tekstowy plik licencji o dowolnej nazwie i zawartości:

SERVER licencje.kdm.wcss.pl 0007e905907d 27002
USE_SERVER

Instalacja na systemach z rodziny Windows

Przed instalacją należy zgłosić się do WCSS po pobranie kodu PLP wymaganego do instalacji.

Następnie należy uruchomić instalację i podać kod PLP oraz ścieżkę do pliku licencji na kolejnych etapach instalacji.

W trakcie instalacji, na etapie wyboru pakietów, warto jest zaznaczyć pakiet "License Manager". Pozwala to przetestować dostępność serwera licencji.

Instalacja na systemach z rodziny Linux/UNIX

Przed instalacją należy zgłosić się do WCSS po pobranie kodu PLP wymaganego do instalacji. Przed uruchomieniem aplikacji należy ustawić zmienną środowiskową LM_LICENSE_FILE na wartość "27002@licencje.kdm.wcss.pl":

Powłoka (shell) typu csh (csh, tcsh):

setenv LM_LICENSE_FILE "27002@licencje.kdm.wcss.pl"

Powłoka typu sh (sh, bsh, bash, ksh, ...):

export LM_LICENSE_FILE="27002@licencje.kdm.wcss.pl"

Rodzaj powłoki można sprawdzić poleceniem:

echo $SHELL

W trakcie instalacji program może poprosić o przygotowany wcześniej plik licencji.

Ewentualny test licencji po zakończonej instalacji:

/ścieżka/do/katalogu/instalacji/matlab/etc/glnxa64/lmstat -a -c 27002@licencje.kdm.wcss.pl

W przypadku Ubuntu 18.04 lub innych dystrybucji linuksa, może być konieczne doinstalowanie pakietu lsb.

Dokumentacja

  • Dokumentacja on-line dostępna jest lokalnie po zalogowaniu się na klastrze i Nova i wydaniu polecenia doc z poziomu MATLAB-a.
  • "Komputerowa symulacja układów automatycznej regulacji w środowisku MATLAB/SIMULINK" s.132 rw.2005, Łysakowska B., Mzyk G., ISBN: 83-7085-854-6, Oficyna Wydawnicza PWr (Cena: 17,90)
    W książce rozważa się zagadnienie symulacji komputerowej liniowych systemów dynamicznych z czasem ciągłym i czasem dyskretnym. Analizuje się właściwości Układów Automatycznej Regulacji, podając jednocześnie przykłady praktycznych zastosowań. Badania prowadzone są z użyciem pakietu Control System Toolbox programu Matlab w środowisku graficznym Simulink. Prezentowane są również podstawy identyfikacji liniowych systemów dynamicznych w warunkach losowych. Podręcznik jest przeznaczony dla studentów uczelni technicznych na kierunkach automatyka i robotyka, elektronika i telekomunikacja oraz informatyka, a także dla wszystkich zainteresowanych zastosowaniami środowiska Matlab w obliczeniach inżynierskich w automatyce.
  • "Programowanie w Matlabie dla elektryków" s.215,rw. 2005, Sobierajski M., Łabuzek M., Oficyna Wydawnicza PWr (Cena: 22,00)
    Celem autorów jest nauczenie elektryków posługiwania się Matlabem do rozwiązywania praktycznych zadań inżynierskich. Główną uwagę skoncentrowano na skondensowanym wykorzystaniu Matlaba do rozwiązywania praktycznych zadań elektrotechnicznych i elektroenergetycznych.
    Spis treści
    Wstęp
    1. Pierwsze kroki w Matlabie
    2. Podstawowe operacje macierzowe i tablicowe
    3. Tworzenie skryptów i współpraca z plikami danych
    4. Tworzenie plików funkcyjnych
    5. Wykresy w Matlabie
    6. Interfejs graficzny użytkownika
    7. Rozwiązywanie zadań opisanych równaniami różniczkowymi
    8. Współpraca z plikami zewnętrznymi
    9. Rozwiązywanie zadań optymalizacji
    10. Analiza statystyczna pomiarów
    11. Analiza harmonicznych
    12. Równania różniczkowe
    13. Analiza stabilności lokalnej i globalnej
    14. Rozwiązywanie równań różniczkowych z elementami nieliniowymi
    15. Wprowadzenie do Simulinka
    16. Modelowanie równania różniczkowego
    17. Modelowanie układu równań różniczkowych
    18. Grupowanie i maskowanie bloków
    Literatura
MATLAB w sieci

Zobacz też: Oprogramowanie KDM