Matlab: Różnice pomiędzy wersjami
Linia 144: | Linia 144: | ||
==== Tworzenie nowego skryptu ==== | ==== Tworzenie nowego skryptu ==== | ||
Nowy skrypt Matlaba tworzy się za pomocą przycisku <code>New Script</code>: | Nowy skrypt Matlaba tworzy się za pomocą przycisku <code>New Script</code>: | ||
− | # W pasku wyboru ścieżki wybrać katalog znajdujący się na dysku Z, w którym zapisywane będą pliki związane ze zleceniami | + | # W pasku wyboru ścieżki wybrać katalog znajdujący się na dysku Z, w którym zapisywane będą pliki związane ze zleceniami. |
# W menu, w zakładce <code>HOME</code> użyć przycisku <code>New Script</code>. | # W menu, w zakładce <code>HOME</code> użyć przycisku <code>New Script</code>. | ||
− | # Po podaniu programowi poleceń w postaci skryptu, należy | + | # Po podaniu programowi poleceń w postaci skryptu, należy ów skrypt zapisać w katalogu wybranym w podpunkcie 1. |
− | # W celu uruchomienia skryptu należy kliknąć na niego (powinien być widoczny w polu Current Folder) prawym przyciskiem myszy (PPM), a następnie użyć polecenia Run. | + | # W celu uruchomienia skryptu należy kliknąć na niego (powinien być widoczny w polu <code>Current Folder</code>) prawym przyciskiem myszy (PPM), a następnie użyć polecenia <code>Run</code>. |
==== Testowanie poprawności zlecania zadań ==== | ==== Testowanie poprawności zlecania zadań ==== | ||
W celu przetestowania poprawności działania zlecania własnych skryptów należy: | W celu przetestowania poprawności działania zlecania własnych skryptów należy: | ||
− | #Otworzyć nowy skrypt przyciskiem New Script. | + | # Otworzyć nowy skrypt przyciskiem <code>New Script</code>. |
− | #Wkleić poniższy kod (*). | + | # Wkleić poniższy kod (*). |
− | #Zapisać skrypt pod dowolną nazwą w wybranym katalogu znajdującym się w ścieżkach Matlaba. | + | # Zapisać skrypt pod dowolną nazwą w wybranym katalogu znajdującym się w ścieżkach Matlaba. |
− | #Zlecić zadanie za pomocą PPM > Run. | + | # Zlecić zadanie za pomocą <code>PPM > Run</code>. |
− | (*) | + | (*) |
'''c = parcluster('Supernova');''' | '''c = parcluster('Supernova');''' | ||
'''job1 = createJob(c);''' | '''job1 = createJob(c);''' | ||
Linia 169: | Linia 169: | ||
Kod zleca wygenerowanie 5 macierzy 3 na 3 zawierających losowe liczby zmiennoprzecinkowe o wartościach zawierających się między 0 a 1 - każda macierz generowana jest w osobnym tasku. | Kod zleca wygenerowanie 5 macierzy 3 na 3 zawierających losowe liczby zmiennoprzecinkowe o wartościach zawierających się między 0 a 1 - każda macierz generowana jest w osobnym tasku. | ||
− | Polecenie 'parcluster' służy do wyboru profilu z listy znajdującej się w ENVIRONMENT > Parallel > Manage Cluster Profiles > Cluster Profile. | + | Polecenie <code>'parcluster'</code> służy do wyboru profilu z listy znajdującej się w <code>ENVIRONMENT > Parallel > Manage Cluster Profiles > Cluster Profile</code>. |
− | Polecenie 'createJob' tworzy zadanie, a polecenie 'createTask' - podzadanie. Polecenie 'submit' zleca zadanie do | + | Polecenie <code>'createJob'</code> tworzy zadanie, a polecenie <code>'createTask'</code> - podzadanie. Polecenie <code>'submit'</code> zleca zadanie do systemu kolejkowego (PBS) na klastrze zdefiniowanym w profilu, |
− | a polecenie 'wait' wymusza oczekiwanie na zakończenie zadania przed kontynuowaniem postępowania zawartego w skrypcie. | + | a polecenie <code>'wait'</code> wymusza oczekiwanie na zakończenie zadania przed kontynuowaniem postępowania zawartego w skrypcie. |
− | W celu sprawdzenia wyników należy w oknie Command Window wprowadzić kolejno następujące komendy: | + | W celu sprawdzenia wyników należy w oknie <code>Command Window</code> wprowadzić kolejno następujące komendy: |
'''c = parcluster('Supernova')''' | '''c = parcluster('Supernova')''' | ||
'''finished_jobs = findJob(c,'State','finished')''' | '''finished_jobs = findJob(c,'State','finished')''' | ||
− | Wyświetli się lista zakończonych zadań na profilu Supernova. Należy wybrać zadanie, którego wyniki chcemy przejrzeć (np. 5.) i postępować według poniższych kroków: | + | Wyświetli się lista zakończonych zadań na profilu <code>Supernova</code>. Należy wybrać zadanie, którego wyniki chcemy przejrzeć (np. 5.) i postępować według poniższych kroków: |
'''finished_jobs = findJob(c,'State','finished', 'ID', 5)''' | '''finished_jobs = findJob(c,'State','finished', 'ID', 5)''' |
Wersja z 07:54, 29 lip 2013
< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie naukowe < Matlab
Licencja WCSS jest przeznaczona dla użytkowników WCSS, do celów badawczych. Pracownicy i doktoranci PWr mogą korzystać z licencji badawczej Politechniki. Studenci i prowadzący zajęcia dydaktyczne na PWr powinni korzystać z licencji dydaktycznej Politechniki. W celu uzyskania licencji i nośników instalacyjnych należy kontaktować się z administratorami wydziałowymi lub Działem Informatyzacji PWr. WCSS nie dysponuje informacjami o administratorach wydziałowych. |
Matlab | |
---|---|
Serwer | Wersja |
Supernova | R2013a R2012a |
Klaster kampusowy | R2013a |
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 R2013a dla systemów Linux (x86, x86_64), Mac (Intel) i Windows (Server 2008, Server 2008R2, XP SP3, Vista, 7). Prosimy o kontakt z administratorami w celu wypożyczenia płyt instalacyjnych (tylko DVD). Wymagania pakietu: http://www.mathworks.com/support/sysreq/
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)
- 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)
Uruchamianie na klastrze Supernova
MATLAB dostępny jest na klastrze Supernova (katalog instalacji odpowiednio: /usr/local/matlab-WERSJA).
Praca interaktywna na klastrze
Przed zdalnym uruchomieniem aplikacji w trybie graficznym należy pamiętać o przekierowaniu wyświetlania z klastra na swój komputer. Następnie w celu pracy interaktywnej z aplikacją należy uruchomić zadanie interaktywne w kolejce, z opcją -X
, np.:
> qsub -I -X -q short6h
- Ś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/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 najnowszą wersję. Można też wybrać starszą wersję wydając polecenie:
> module load matlab/R2012a
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 Supernova 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 <plik_wej.inp>
Więcej o składni polecenia qsub
w artykule: Jak korzystać z kolejek PBS?
Uruchamianie na własnych komputerach
KDM WCSS umożliwia uruchamianie Matlaba na własnych komputerach. Wymaga to zainstalowania Matlaba w trybie network installation z wykorzystaniem serwera licencji zainstalowanego w KDM WCSS. Dostęp do serwera licencji możliwy jest z adresów klasy B 156.17.0.0/16
. Inne adresy/klasy dodawane są po indywidualnych konsultacjach z administratorami KDM WCSS.
W celu uzyskania płyt instalacyjnych należy zgłosić się do kierownika działu KDM.
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 utworzyć i zapisać na dysku plik licencji o dowolnej nazwie i zawierający wiersze:
SERVER menkar.wcss.pl 0007e905907d 27002 USE_SERVER
Następnie należy uruchomić instalację i podać kod PLP oraz ścieżkę do pliku licencji na kolejnych etapach instalacji.
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@menkar.wcss.pl"
:
Shell typu csh (csh, tcsh):
> setenv LM_LICENSE_FILE "27002@menkar.wcss.pl"
Shell typu sh (sh, bsh, bash, ksh, ...):
> export LM_LICENSE_FILE="27002@menkar.wcss.pl"
Rodzaj shella sprawdzamy przez:
> echo $SHELL
Ewentualny test licencji:
> scieżka/do/katalogu/instalacji/matlab/etc/lmstat -a -c 27002@menkar.wcss.pl
Uruchamianie zadań zdalnie na klastrze Supernova
WCSS umożliwia zlecanie zdalnie zadań obliczeniowych na klaster Supernova. Jest to możliwe na dwa sposoby:
- korzystając ze środowiska MATLAB-a dostępnego na infrastrukturze PLATON-U3,
- korzystając ze środowiska MATLAB-a zainstalowanego na własnym komputerze.
W obydwu przypadkach, aby zlecić zadanie zdalne korzystając z interfejsu Matlaba należy wcześniej odpowiednio go skonfigurować:
- pobrać plik [zip] i rozpakować w lokalizacji przeszukiwanej przez Matlaba (listę tych miejsc można znaleźć klikając przycisk Set Path w polu Environment),
- pobrać plik [zip] i rozpakować w dowolnej lokalizacji (plik Supernova.settings, który jest w archiwum będzie potrzebny w następnym kroku),
- w polu Environment kliknąć na przycisk Parallel i wybrać pozycję Manage Cluster Profiles,
- w oknie które się pojawi kliknąć na przycisk Add i wybrać pozycję Import,
- wskazać lokalizację pliku Supernova.settings wypakowanego z archiwum,
- zaznaczyć pozycję Supernova na liście Cluster Profile i kliknąć przycisk Edit,
- w części SubmitFunctions należy zmienić 3. parametr funkcji (/home/tyciu), tak aby wskazywał lokalizację własnego katalogu domowego na klastrze,
- po kliknięciu przycisku Done można już korzystać ze zdalnego zlecania zadań.
Uruchamianie zdalne z infrastruktury PLATON-U3
Chcąc korzystać z MATLAB-a na Supernovej poprzez infrastrukturę PLATON-U3, należy zarejestrować się jako użytkownik PLATON-U3 w WCSS i założyć odpowiednią rezerwację. Po uzyskaniu dostępu do aplikacji należy ją skonfigurować (jak opisane powyżej) i zweryfikować, czy aplikacja działa poprawnie.
Weryfikacja poprawności konfiguracji
W celu przeprowadzenia weryfikacji trzeba wykonać kilka, wymienionych poniżej, kroków:
- W zakładce
ENVIRONMENT > Set Path
sprawdzić listę ścieżek. Ścieżka rozpoczynająca się od\\wcss-sts
znajduje się na dysku Z. - W pasku wyboru ścieżki wybrać katalog znajdujący się na dysku Z, w którym zapisywane będą pliki związane ze zleceniami.
- W zakładce
ENVIRONMENT > Parallel > Manage Cluster Profiles > Cluster Profile
wybrać profilSupernova
. - W profilu
Supernova
wybrać zakładkęValidation Results
, a następnie przeprowadzić weryfikację poprawności działania za pomocą przyciskuValidate
.
Tworzenie nowego skryptu
Nowy skrypt Matlaba tworzy się za pomocą przycisku New Script
:
- W pasku wyboru ścieżki wybrać katalog znajdujący się na dysku Z, w którym zapisywane będą pliki związane ze zleceniami.
- W menu, w zakładce
HOME
użyć przyciskuNew Script
. - Po podaniu programowi poleceń w postaci skryptu, należy ów skrypt zapisać w katalogu wybranym w podpunkcie 1.
- W celu uruchomienia skryptu należy kliknąć na niego (powinien być widoczny w polu
Current Folder
) prawym przyciskiem myszy (PPM), a następnie użyć poleceniaRun
.
Testowanie poprawności zlecania zadań
W celu przetestowania poprawności działania zlecania własnych skryptów należy:
- Otworzyć nowy skrypt przyciskiem
New Script
. - Wkleić poniższy kod (*).
- Zapisać skrypt pod dowolną nazwą w wybranym katalogu znajdującym się w ścieżkach Matlaba.
- Zlecić zadanie za pomocą
PPM > Run
.
(*)
c = parcluster('Supernova'); job1 = createJob(c); createTask(job1, @rand, 1, {3,3}); createTask(job1, @rand, 1, {3,3}); createTask(job1, @rand, 1, {3,3}); createTask(job1, @rand, 1, {3,3}); createTask(job1, @rand, 1, {3,3}); submit(job1); wait(job1); results = fetchOutputs(job1); results{1:5};
Kod zleca wygenerowanie 5 macierzy 3 na 3 zawierających losowe liczby zmiennoprzecinkowe o wartościach zawierających się między 0 a 1 - każda macierz generowana jest w osobnym tasku.
Polecenie 'parcluster'
służy do wyboru profilu z listy znajdującej się w ENVIRONMENT > Parallel > Manage Cluster Profiles > Cluster Profile
.
Polecenie 'createJob'
tworzy zadanie, a polecenie 'createTask'
- podzadanie. Polecenie 'submit'
zleca zadanie do systemu kolejkowego (PBS) na klastrze zdefiniowanym w profilu,
a polecenie 'wait'
wymusza oczekiwanie na zakończenie zadania przed kontynuowaniem postępowania zawartego w skrypcie.
W celu sprawdzenia wyników należy w oknie Command Window
wprowadzić kolejno następujące komendy:
c = parcluster('Supernova') finished_jobs = findJob(c,'State','finished')
Wyświetli się lista zakończonych zadań na profilu Supernova
. Należy wybrać zadanie, którego wyniki chcemy przejrzeć (np. 5.) i postępować według poniższych kroków:
finished_jobs = findJob(c,'State','finished', 'ID', 5) results = fetchOutputs(finished_jobs) results{1:numel(results)}
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
- Pierwsze kroki w Matlabie
- Podstawowe operacje macierzowe i tablicowe
- Tworzenie skryptów i współpraca z plikami danych
- Tworzenie plików funkcyjnych
- Wykresy w Matlabie
- Interfejs graficzny użytkownika
- Rozwiązywanie zadań opisanych równaniami różniczkowymi
- Współpraca z plikami zewnętrznymi
- Rozwiązywanie zadań optymalizacji
- Analiza statystyczna pomiarów
- Analiza harmonicznych
- Równania różniczkowe
- Analiza stabilności lokalnej i globalnej
- Rozwiązywanie równań różniczkowych z elementami nieliniowymi
- Wprowadzenie do Simulinka
- Modelowanie równania różniczkowego
- Modelowanie układu równań różniczkowych
- Grupowanie i maskowanie bloków
- Literatura
- 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.
- MATLAB w sieci
Zobacz też: Oprogramowanie KDM
Oprogramowanie naukowe |
Abaqus ⋅ ABINIT ⋅ ADF ⋅ Amber ⋅ ANSYS [ ANSYS CFD: Fluent, CFX, ICEM; Mechanical ] ⋅ AutoDock ⋅ BAGEL ⋅ Beast ⋅ Biovia [ Materials Studio, Discovery Studio ] ⋅ Cfour ⋅ Comsol ⋅ CP2K ⋅ CPMD ⋅ CRYSTAL ⋅ Dalton ⋅ Dask ⋅ DIRAC ⋅ FDS-SMV ⋅ GAMESS ⋅ Gaussian ⋅ Gromacs ⋅ IDL ⋅ Lumerical [ FDTD, MODE ] ⋅ Mathcad ⋅ Mathematica⋅ Matlab ⋅ Molcas ⋅ Molden ⋅ Molpro ⋅ MOPAC ⋅ NAMD ⋅ NBO ⋅ NWChem ⋅ OpenFOAM ⋅ OpenMolcas ⋅ Orca ⋅ Quantum ESPRESSO ⋅ R ⋅ Rosetta ⋅ SIESTA ⋅ Tinker ⋅ TURBOMOLE ⋅ VASP ⋅ VMD ⋅ WIEN2k |
---|