MATLAB(de la Matrix Laboratory) este un mediu de dezvoltare pentru calcul numeric si analiză statistică care conţine limbajul de programare cu acelaş nume, creat de MathWorks. MATLAB permite manipularea matricilor, vizualizarea funcţiilor, implementarea algoritmilor, crearea de interfeţe si poate interacţiona cu alte aplicaţii. Chiar daca e specializat in calcul numeric, exista pachete [2] care îi permit sa interacţioneze cu motoarele de calcul simbolic gen Maple. Un pachet adiţional, Simulink, oferă posibilitatea de a realiza simulări ale sistemelor dinamice şi îmbarcate utilizând modele matematice. MATLAB e utilizat pe larg in industrie, în universitaţi şi e disponibil cross-platform, sub diverse sisteme de operare: Windows, GNU/Linux, UNIX şi Mac OS
Limbajul MATLAB.
Limbajul MATLAB este un limbaj matrice/vector de înalt nivel ce include instrucţiuni de control al buclelor, funcţii, structuri de date, comenzi de intrare/ieşire şi instrucţiuni de programare orientată pe obiecte. Limbajul MATLAB permite atât ”programarea superficială” pentru crearea rapidă a unor mici programe de calcul specifice, cât şi „programarea în detaliu” în vederea dezvoltării unor programe complexe de nivel superior.
1.3. Lansarea şi ieşirea din MATLAB
1.3.1. Comenzi de lansare MATLAB. Există mai multe modalităţi de lansare a pachetului de programe MATLAB, şi anume:
A)
- Dublu-clic pe icoana MATLAB de pe Desktop
B)
- Clic pe START
- Clic pe MATLAB
- Clic pe START
- Clic pe Run
- Tastaţi ”matlab”
Clic pe OK
D)
- Dublu-clic pe shortcut-ul ”MATLAB 6.5” din directorul de instalare C:/MATLAB6p5/
E)
- În cazul lansării dintr-o fereastră DOS, se tastează ”matlab” la promptul DOS.
- Etc.
1.3.2. Opţiuni de lansare MATLAB. Există mai multe opţiuni de lansare MATLAB, acestea putând fi activate la lansarea programului, în felul următor:
- Clic-dreapta pe icoana MATLAB de pe Desktop
Clic pe Properties în meniul contextual
Tastaţi în câmpul Target, după calea către ”matlab.exe”, una sau mai multe opţiuni de lansare, cum ar fi opţiunea /minimize:
Acţiunile corespunzătoare diverselor opţiuni de lansare MATLAB sunt prezentate în tabelul următor:
Opţiune | Acţiune |
/minimize
|
Lansare MATLAB în format minimizat, fără afişare de splash. |
/nosplash | Lansare MATLAB fără afişare splash. |
/r M_file | Lansare MATLAB împreună cu lansarea automată a fişierului cu numele M_file. |
1.3.3. Alegerea directorului MATLAB de lucru. Directorul MATLAB de lucru poate fi selectat înainte de lansarea programului, respectând următoarea secvenţă de comenzi:
- Clic-dreapta pe icoana MATLAB de pe Desktop
Clic pe Properties în meniul contextual
- Tastaţi calea de acces către directorul de lucru, în câmpul Start in, ca de exemplu calea D:\MATLAB:
- Enter sau clic pe OK
Directorul MATLAB de lucru poate fi selectat şi după lansarea programului.
1.3.4. Comenzi de ieşire din MATLAB
Pentru părăsirea programului MATLAB se poate acţiona în mai multe feluri, şi anume:
A)
- Clicaţi pe meniul File + clic pe Exit MATLAB
B)
- Clicaţi pe close box-ul ferestrei MATLAB Desktop
C)
- Tastaţi ”exit” sau ”quit” în Command Window
- Apăsaţi pe tasta Enter sau Return
D)
- Etc.
1.4. Ferestrele de lucru MATLAB
1.4.1. Fereastra principală MATLAB (MATLAB Desktop). După lansarea programului MATLAB, în prim plan apare fereastra principală MATLAB, ce conţine unelte de control al directoarelor, fişierelor, variabilelor şi al aplicaţiilor asociate MATLAB-ului.
MATLAB Desktop Toolbar permite accesul uşor la uneltele clasice MATLAB. Ţinând cursorul deasupra unui buton, o indicaţie ajutătoare descriind unealta, va apare într-o căsuţă galbenă. Unele ferestre au propriul lor toolbar inclus în sistemul de afişare.
1.4.2. Ferestrele Desktop-ului. Următoarele ferestre sunt supervizate de MATLAB Desktop, deşi nu toate apar implicit după lansare:
- Fereastra de comenzi (Command Window), permite lansarea comenzilor MATLAB;
- Fereastra Command History, permite memorarea, vizualizarea, editarea şi relansarea funcţiilor lansate anterior în Command Window.
- Fereastra Launch Pad, permite lansarea uneltelor şi accesarea documentaţiei MATLAB
- Fereastra Current Directory Browser, permite controlul asupra fişierelor MATLAB şi a celor asociate
- Fereastra Help Browser, permite vizualizarea şi căutarea documentaţiei MATLAB
- Fereastra Workspace Browser permite vizualizarea şi schimbarea conţinutului spaţiului de lucru
- Fereastra Array Editor permite editarea şi vizualizarea conţinutului variabilelor într-un format tabelar
- Fereastra Editor/Debugger permite crearea, editarea şi verificarea fişierelor M-files ce conţin funcţii MATLAB.
Alte unelte şi ferestre MATLAB cum ar fi ferestrele grafice nu sunt supervizate de MATLAB Desktop.
1.4.2.1. Command Window. Command Window este fereastra principală de comunicare a utilizatorului cu programul MATLAB. Această fereastră permite lansare de funcţii şi efectuarea de operaţii MATLAB. Pentru deschiderea ferestrei se selectează Command Window din meniul View.
Proprietăţile specifice ferestrei Command Window permit modificarea formatului de afişare a valorilor numerice, setarea automată a ecoului în cadrul unei sesiuni MATLAB, specificarea fontului, a stilului, a dimensiunii literelor, setarea culorilor folosite pentru sublinierea instrucţiunilor specifice etc. Pentru afişarea cutiei de dialog cu proprietăţile ferestrei Command Window, selectaţi Preferences din meniul File al MATLAB Desktop. Cutia de dialog se deschide permiţând modificarea proprietăţilor ferestrei Command Window.
1. FUNDAMENTELE PROGRAMĂRII ÎN MATLAB
1.1. Expresii fundamentale
MATLAB-ul lucrează cu expresii matematice ca şi celelalte limbaje de programare, dar spre deosebire de majoritatea acestor limbaje, aceste expresii implică la scară largă lucrul cu matrici.
Expresiile sunt alcătuite cu ajutorul următoarelor tipuri:
- Variabile
- Numere
- Operatori
- Funcţii
Variabile
- MATLAB-ul nu necesită declararea dimensiunii variabilelor, deoarece la întâlnirea unui nou nume de variabilă generează automat variabila respectivă şi alocă spaţiul necesar de memorie.
- Numele unei variabile este o literă, urmată de un număr oricât de mare de litere, cifre sau simboluri. Din acest număr “oricât de mare” sunt oprite primele 31 de caractere.
- MATLAB-ul este case sensitive – face distincţie între literele mici şi cele mari.
- Exemplu:
» a = 30
creează o matrice 1 x 1 cu numele a şi stochează valoarea acesteia 30 într-o singură locaţie corespunzătoare singurului element al matricei.
Numere
- MATLAB-ul utilizează notaţia zecimală, cu punct zecimal opţional şi cu semn + sau -. Se utilizează şi notaţia ştiinţifică cu litera e pentru a specifica o putere a lui 10. Reprezentarea numerelor imaginare este realizată cu litera i sau j ca sufix.
- Exemple:
3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
- Toate numerele sunt stocate intern utilizând formatul long specificat de standardul IEEE în virgulă mobilă (precizie de 16 zecimale semnificative în domeniul 10-308 la 10+308).
Operatori
Expresiile utilizează operatori aritmetici uzuali:
+ | Adunare |
– | Scădere |
* | Multiplicare |
/ | Împărţire |
\ | Împărţire la stânga |
^ | Ridicarea la o putere |
‘ | Transpusa complex conjugată |
( ) | Operatorul de specificare a ordinii de evaluare |
Funcţii
MATLAB-ul furnizează un mare număr de funcţii matematice elementare standard (abs, sqrt, exp, sin …).
Există şi funcţii matematice avansate (funcţii Bessel, gama etc.), multe dintre acestea acceptând argumente complexe.
Pentru vizualizarea funcţiilor elementare se poate tasta:
» help elfun
Pentru a vedea lista funcţiilor avansate se poate tasta:
» help specfun
» help elmat
¨ O parte din funcţii (cum ar fi sqrt, sin)sunt de tip built-in, adică sunt o parte a nucleului MATLAB, au o mare eficienţă, dar detaliile constructive nu sunt accesibile utilizatorului.
¨ Alte funcţii sunt implementate ca fişiere MATLAB (M-files) şi pot fi chiar modificate.
¨ Câteva funcţii furnizează valorile unor constante universale:
pi | 3.14159265 |
I | Imaginary unit, -1 |
J | Same as I |
Eps | Floating-point relative precision, 2-52 |
Realmin | Smallest floating-point number, 2-1022 |
Realmax | Largest floating-point number, 21023 |
Inf | Infinity |
NaN | Not-a-number |
- Numele funcţiilor nu sunt rezervate şi deci este posibilă suprascrierea lor.
Exemplu:
eps = 1.e-6
Funcţia originală este reconstituită prin comanda:
» clear eps
Expresii
Exemple de expresii şi rezultatele corespunzătoare ale evaluării acestor expresii:
» rho = (1+sqrt(5))/2
rho =
1.6180
» a = abs(3+4i)
a =
5
» z = sqrt(besselk(4/3,rho-i))
z =
0.3730+ 0.3214i
» huge = exp(log(realmax))
huge =
1.7977e+308
» toobig = pi*huge
Tags: analiza analiza numerica Cursuri matlab metode numerice