|
Środowisko MATLAB-a stało się faktycznym standardem we współczesnych obliczeniach naukowo-technicznych. Liczba jego użytkowników przekroczyła już 400 tysięcy na całym świecie.
Bardzo wygodny, z punktu widzenia użytkownika, język wysokiego poziomu stosowany w MATLAB-ie, a także udostępnienie w nim niezawodnych implementacji algorytmów matematyki stosowanej, bogatych funkcji graficznych i licznych modułów rozszerzeń zorientowanych na określone dziedziny zastosowań (MATLAB Application Toolboxes , Simulink, Simulink Blocksets , Real-Time Workshop, Stateflow i inne) sprawiły, że obecnie MATLAB w znacznym stopniu wyparł z obliczeń naukowo-technicznych języki uniwersalne (Fortran, C, C++) ograniczając ich zasadniczą rolę do funkcji oprogramowania narzędziowego.
Rozszerzalność, będąca podstawowym założeniem architektury MATLAB-a, umożliwiła niezwykle szybki rozwój tego środowiska.
Poniżej zestawiono najistotniejsze rozwiązania programistyczne, których obecność w środowisku MATLAB-a ukształtowała jego podstawowe cechy.
Język programowania wysokiego
poziomu
indeksacja niejawna pozwalająca na efektywną wektoryzację obliczeń i zwarty zapis (konstrukcje z użyciem dwukropka, nawiasów kwadratowych, połączenie kropki i operatorów arytmetycznych, indeksacja za pomocą warunków logicznych, wektoryzacja funkcji wbudowanych)
domyślne określanie typów i wymiarowanie tablic umożliwiające szybkie prototypowanie aplikacji w środowisku interpretera MATLAB-a
automatyczna generacja kodu C (MATLAB Compiler i biblioteki MATLAB C/C++ Math Libraries) wykorzystywana do budowania niezależnych aplikacji na bazie kodu MATLAB-owskiego
różnorodne typy zmiennych: numeryczne - stałoprzecinkowe i zmiennoprzecinkowe, tablice wielowymiarowe, zmienne tekstowe, zmienne strukturowe - dostęp do pola przez nazwę (notacja kropkowa), tablice wskaźnikowe - cell arrays (notacja
klamrowa)
Otwarta architektura
rozszerzalność (możliwość budowania własnych funkcji użytkownika: m-pliki, skryptowe i funkcyjne, dołączanie skompilowanego kod w C lub w Fortranie: biblioteki DLL - MEX-pliki)
przenośność (jednakowy kod MATLAB-a - m-kod dla różnych platform PC: Windows 95/98/NT, Linux, Mac i UNIX: Sun Solaris, HP UX, IBM AIX, SGI Irix i innych)
wymiana danych z innymi aplikacjami poprzez pliki i różne protokoły komunikacyjne: DDE, TCP/IP (internet)- MATLAB Web Server, ODBC/JDBC (bazy danych) - Database Toolbox
współpraca z innymi aplikacjami w środowisku wielozadaniowym (możliwość uruchamiania innych aplikacji z poziomu MATLABA - polecenia poprzedzane znakiem!, udostępnianie usług Engine Services - MATLAB Runtime Server)
Orientacja obiektowa
grafika uchwytów (hierarchiczna struktura Handle Graphics - pobieranie (get) i nadawanie (set) wartości atrybutów określanych zmiennymi tekstowymi)
obiekty standardowe (np. LTI - liniowy, stacjonarny system dynamiczny, obiekt sym - wyrażenie symboliczne)
narzędzia programowania obiektowego (hermetyzacja, dziedziczenie, przeciążanie)
|