Matlab (Opisy podstawowych funkcji) PL Wprowadzenie do pracy w środowisku pakietu Matlab


0x01 graphic

0x08 graphic

Środowisko MATLAB-a rozwijało się w wielu kierunkach. Oprogramowanie, którego głównym celem było początkowo ułatwienie dostępu do bibliotek procedur numerycznych algebry macierzowej LINPACK i EISPACK, dzięki konsekwentnej rozbudowie zarówno w zakresie podstaw informatycznych, jak i funkcji zorientowanych na określone typy problemów, jest dziś wykorzystywane na bardzo różne sposoby w odległych nieraz dziedzinach zastosowań.

dziedziny zastosowań :

*Obliczenia matematyczne

ponad 500 funkcji w MATLAB-ie realizujących podstawowe algorytmy numeryczne, operacje na macierzach, wielomianach, metody interpolacji i aproksymacji,  transformacje Fouriera, algorytmy całkowania równań różniczkowych i wiele innych

implementacja specjalizowanych algorytmów dla macierzy rzadkich (sparse matrices)

standardowe metody numeryczne - NAG Foundation Toolbox

procedury optymalizacji - Optimization Toolbox

metody statystyki matematycznej wraz z interaktywnym interfejsem graficznym - Statistics Toolbox

całkowanie numeryczne równań różniczkowych cząstkowych - Partial Differential Equation (PDE) Toolbox

interpolacja sklejana - Spline Toolbox

efektywne algorytmy manipulacji na wyrażeniach symbolicznych z jądra pakietu Maple V - Symbolic Math Toolboxes (różniczkowanie i całkowanie symboliczne, podstawianie, upraszczanie i rozwijanie wyrażeń, działania na szeregach formalnych, symboliczne rozwiązywanie równań algebraicznych i różniczkowych, algorytmy kombinatoryczne i wiele innych)

*Grafika komputerowa i wizualizacja

szeroki zestaw procedur graficznych w MATLAB-ie obejmujący: generację wykresów funkcji 1 i 2 zmiennych, wykresów kołowych, paskowych, konturowych, cieniowanych i wielu innych, wizualizację odwzorowań 2- i 3-wymiarowych (izolinie i izopowierzchnie, pola kierunków), animację, map bitowych, obiektów wielokątnych i wielościennych

generacja kodu OpenGL dla akceleratorów sprzętowych

bogate ośrodki opisu tekstowego, definiowanie różnych czcionek, symboli specjalnych, strzałek itp.

specjalizowane procedury komputerowej analizy i przetwarzania obrazów w module Image Processing Toolbox

specjalizowane procedury kartograficznej wizualizacji danych w module Mapping Toolbox

*Prototypowanie algorytmów

bogate biblioteki algorytmów standardowych w MATLAB-ie i procedur specjalizowanych w modułach rozszerzeń (MATLAB Application Toolboxes i Simulink Blocksets)

zintegrowane narzędzia rozwijania oprogramowania w języku MATLAB-a (m-kodu) - MATLAB Editor/Debugger - wyposażone we własny interfejs graficzny

MATLAB Profiler - narzędzie monitorowania czasów wykonania poszczególnych segmentów m-kodu z możliwością generowania raportów w formacie HTML

MATLAB Workspace Browser - przeglądarka przestrzeni roboczej MATLAB-a z podglądem warto¶ci i możliwością edytowania wartości zmiennych, w tym tablic

*Programowanie i tworzenie aplikacji

¶środowisko GUIDE umożliwia projektowanie i implementację własnych interfejsów graficznych do aplikacji MATLAB-a w oparciu o elementy aktywne grafiki uchwytów (Handle Graphics) i technikę wywołań zwrotnych (callbacks)

Kompilator MATLAB-a - MATLAB Compiler, na podstawie kodu MATLAB-a generuje kod C lub C++ zgodny ze standardem ANSI

MATLAB C  Math Library - około 300 funkcji wbudowanych MATLAB-a, w postaci binarnej, do wł±czania do wygenerowanych za pomocą kompilatora MATLAB-a lub własnych aplikacji użytkownika

MATLAB C++  Math Library - około 300 funkcji wbudowanych MATLAB-a, w postaci binarnej, do włączania do wygenerowanych za pomocą kompilatora MATLAB-a lub własnych aplikacji użytkownika, składnia wywoływań zbliżona do oryginalnej składni MATLAB-a

MATLAB Runtime Server - umożliwia tworzenie i rozpowszechnianie niezależnych aplikacji MATLAB-a

udostępnianie aplikacji MATLAB-a poprzez Internet - MATLAB Web Server

MATLAB Report Generator i Simulink Report Generator - automatyczna generacja raportów wybranym formacie, np.: HTML, RTF, XML lub SGML

*Analiza danych

funkcje manipulacji na zbiorach danych w środowisku MATLAB-a - interpolacja, ekstrapolacja, decymacja, skalowanie, wygładzanie, filtracja, wybór podzbiorów danych za pomoc± warunków logicznych i inne

standardowe i zaawansowane procedury analizy statystycznej wraz z wizualizacją±  - Statistics Toolbox

wszechstronne narzędzia analizy i przetwarzania sygnałów (modele liniowe) w module Signal Processing Toolbox, eksploaracja za pomocą przeglądarki Signal Browser, projektowanie filtrów - interfejsy graficzne: Filter Designer i Filter Viewer, analiza widmowa - interfejs graficzny: Spectrum Viewer

zaawansowane metody analizy sygnałów: analiza falkowa - Wavelet Toolbox, widma wyższego rzędu - Higher Order Spectral Analysis Toolbox

Excel Link - moduł udostępniający funkcje MATLAB-a w pakiecie Microsoft Excel

zestaw funkcji realizujących zaawansowane algorytmy analizy danych finansowych (m. in. zarządzanie ryzykiem) - Financial Toolbox

dwustronna komunikacja z bazami danymi za pomoc± protokołu ODBC/JDBC - Database Toolbox

*Modelowanie i symulacja

modelowanie procesów fizyko-chemicznych na podstawie danych pomiarowych (szeregów czasowych) - moduł System Identification Toolbox, oraz w dziedzinie częstotliwości - moduł Frequency Domain Identification Toolbox

biblioteka procedur modelowania wykorzystującego sieci neuronowe - Neural Network Toolbox

biblioteka procedur modelowania wykorzystującego logikę rozmytą - Fuzzy Logic Toolbox

modelowanie i analiza procesów stochastycznych - moduł Statistics Toolbox

interaktywna symulacja ciągłych, dyskretnych i mieszanych procesów dynamicznych zadanych w postaci hierarchicznych schematów blokowych - Simulink

Stateflow - zintegrowane z Simulinkiem środowisko symulacji procesów ze zdarzeniami i systemów reaktywnych z wykorzystaniem reprezentacji graficznej w postaci diagramów stanu (state charts)

Power System Blockset - biblioteka specjalizowanych bloków Simulinka do symulacji sieci elektroenergetycznych, układów elektroniki przemysłowej, maszyn elektrycznych, układów pomiarowych (modele dla prądu stałego, zmiennego, układów trójfazowych) 

automatyczna generacja kodu C do przyspieszonej symulacji lub niezależnego lub współbieżnego wykonania na zewnętrznym komputerze (także zdalnym) - Real Time Workshop, RTW Ada Coder i Stateflow Coder

*Projektowanie układów sterowania

przyspieszenie projektowania przez integrację: symulacji wykorzystującej schematy blokowe - Simulink, projektowania warstwy logicznej sterowników - Stateflow, automatycznej generacji kodu - Real-Time Workshop i Stateflow Coder oraz specjalizowanych procedur zawartych w modułach rozszerzeń np. Control System Toolbox, Fuzzy Logic Toolbox, Neural Network Toolbox i in.

biblioteka standardowych procedur analizy i syntezy układów sterowania - Control System Toolbox wraz z interaktywnymi interfejsami np. za pomocą przeglądarki modeli liniowych - LTI Viewer, czy narzędzia do syntezy metod± linii pierwiastkowych - Root Locus Design Tool

biblioteki zaawansowanych procedur projektowania układów sterowania: Robust Control Toolbox, mu-Analysis and Synthesis Toolbox, Model Predictive Control Toolbox, LMI (Linear Matrix Inequality) Control Toolbox, QFT (Quantitative Feedback Theory) Control Toolbox

Nonlinear Control Design Blockset - rozszerzenie Simulinka umożliwiające optymalizację przebiegów przejściowych w przestrzeni parametrów modelowanego układu sterowania

narzędzia szybkiego protytopowania sterowników i symulacji w czasie rzeczywistym wykorzystujące platformę PC - Real-Time Windows Target, lub skrajne architektury projektowania - VxWorks/Tornado i dSPACE

*Projektowanie aplikacji dla procesorów sygnałowych (DSP)

przyspieszenie projektowania przez integrację: symulacji wykorzystującej schematy blokowe w Simulinku, automatycznej generacji kodu za pomoc± Real-Time Workshop i algorytmów z modułów zorientowanych na określone dziedziny zastosowań, zwłaszcza Signal Processing Toolbox

biblioteki specjalizowanych bloków Simulinka - DSP Blockset i Fixed Point Blockset

modele zorientowane na zastosowania w telekomunikacji w module Communications Toolbox

Wprowadzenie do pracy w środowisku pakietu Matlab

MATLAB - program przeznaczony do wykonywania różnorodnych obliczeń numerycznych. Dostępny na różnych platformach sprzętowych oraz systemowych (DOS, Windows, UNIX).

Elementy pakietu MATLAB:

interpreter języka programowania wraz z bibliotekami podstawowych działań i obliczeń na macierzach (odwracanie macierzy, rozkłady macierzy, wartości własne itp.);

0x01 graphic

standardowe biblioteki procedur napisanych w języku programu MATLAB (procedury realizujące przekształcenia macierzy, obliczanie wartości funkcji elemnetarnych i specjalnych, całkowanie numeryczne, rozwiązywanie układów równań różniczkowych zwyczajnych, podstawowe obliczenia statystyczne);

0x01 graphic

biblioteki dodatkowe zawierające procedury wspomagające obliczenia numeryczne w różnych stosowaniach Processing Toolbox - cyfrowe przetwarzanie sygnału, Control Toolbox - projektowanie układów sterowania, Optimization Toolbox - metody optymalizacji,Neural networks Toolbox - sieci neuronowe itp.);

0x01 graphic

nakładki - dodatkowe programy napisane w języku MATLAB, które ułatwiają realizację obliczeń określonego rodzaju; (np.Simulink- umożliwia definiowanie i symulację układu sterowania);

  

MATLAB a jego otoczenie:

Organizacja pracy w oknie poleceń MATLAB-a:

clc

wyczyszczenie okna poleceń i umieszczenie kursora w jego lewym górnym rogu

home

umieszczenie wiersza poleceń i kursora w lewym górnym rogu okna poleceń

format

określa postać wyświetlania liczb na ekranie

echo on/off

włączają/wyłączają wysyłanie na ekran treści wykonywanych poleceń

more on/off

włącza/wyłącza stronicowanie tekstów wysyłanych na ekran

diary 'nazwa pliku'

polecenia i teksty (bez grafiki) wysyłane na ekran będą zapisywane w pliku o podanej nazwie

Polecenia plikowe i systemowe:

clock

podaje aktualną datę i czas w postaci wektora [rok miesiąc dzień godzina minuta sekunda]

path

modyfikuje ścieżki dostępu do żądanych katalogów

dir, ls

wyświetlenie plików w aktualnym lub podanym katalogu (dozwolone użycie znaków masek: *,?)

cd nazwa_katalogu

zmiana aktualnego katalogu

del nazwa_ pliku

usunięcie pliku o podanej nazwie

pwd

wyświetlenie pełnej ścieżki określającej aktualny katalog

Zapis i odczyt danych:

save

zapisanie zmiennych w pliku matlab.mat

load

wczytanie zmiennych z pliku matlab.mat

Zarządzanie pamięcią:

clear

usunięcie z pamięci podanych obiektów

pack

przeprowadzenie defragmentacji pamięci

who

wyświetlenie nazw zmiennych lokalnych znajdujących się pamięci

whos

wyświetlenie listy zmiennych lokalnych wraz z dodatkowymi informacjami na ich temat

Najczęściej wykorzystywane polecenia pakietu Matlab:

UWAGI: