Introducere in mediul de programare al Matlab-ului?
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Denumirea de Matlab® provine din abrevierea cuvintelor Matrix Laboratory și reprezintă un limbaj de programare de înaltă performanță (limbaj orientat), dedicat calculului numeric şi reprezentărilor grafice, utilizat cu precădere în științele inginerești. MATLAB este un produs al companiei americane The Mathworks, Inc. [http://www.mathworks.com] şi lucrează sub Windows, Unix, LINUX şi Machintosh. MATLAB include toate facilităţile unui limbaj complet de programare, admiţând interfeţe cu limbajul de programare C, C++ şi FORTRAN. Versiunea cea mai recentă a pachetului de programe MATLAB este versiunea R2015a [http://www.mathworks.com/products/matlab/whatsnew.html]. Evoluţia Matlab-ului a permis ca acesta să devină o uneltă principală pentru rezolvarea diverselor probleme de calcul numeric ingineresc din sistemele universitare din întreaga lume, el reușind să fie integrat cu succes în diverse domenii de cercetare și reprezentând chiar un potenţial atu pentru un eventual job. Utilizarea programului MATLAB include: • Calcul numeric şi simbolic • Programare şi dezvoltare de algoritmi • Modelare şi simulare • Analiză de date, exploatarea rezultatelor şi vizualizare • Grafică 2D, 3D ... • Dezvoltare de aplicaţii software, incluzând construcţie de interfeţe grafice cu utilizatorul (GUI) • Etc. Față de limbajele de programare C/C++, Matlab-ul nu are nevoie de declararea în prealabil a tipurilor de date utilizate şi nici de dimensionare a acestora. Memoria de stocare a datelor utilizate poate fi întreaga memorie a PC-ului. Variabilele numerice de orice dimensiune Matlab-ul le asociază cu matrice, astfel de exemplu un scalar este văzut ca o matrice rectangulară cu o linie și o coloană. MATLAB-ul include aplicaţii specifice, numite TOOLBOX-uri. Acestea sunt colecţii extinse de funcţii MATLAB (fişiere M) care dezvoltă mediul de programare de la o versiune la alta, pentru a rezolva probleme din domenii variate. Exemple de Toolbox-uri sunt: Cum putem porni Matlab-ul?
Se va exemplifica în cele ce urmează mai multe variante ce pot fi utilizate pentru pornirea Matlab-ului R2010a, care sunt valabile și pentru celelalte versiuni. Căteva variante de lansare a programului Matlab R2010a pot fi:
-
apăsă dublu-click pe iconița
-
din meniul de start al office-ului de mai jos)
de pe Desktop;
activează cu un click programul (vezi imaginea
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
-
din fereastra ‚run’, accesibilă din meniul de start al widows-ului (vezi imaginea anterioară), activează programul prin tastarea cuvantului cheie ‚matlab’ urmat de selecția butonului OK pentru accordul de lansare.
Comenzi pentru închiderea programului Matlab
Există mai multe posibilități, printe care: 1) Din meniul File apasând click pe exit MATLAB
2) Cu un click pe iconița din colțul drept al ferestrei Matlab. 3) Lansand în linia de comandă a Matlab-ului comenzile: exit sau quit
Fereastra de întâmpinare a Matlab-ului sau MATLAB Desktop
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
La lansare programui Matlab apare MATLAB Desktop care este fereastra de întămpinare a Matlabului ce poate avea forma din figura de mai jos. Aceasta conține mai multe subferestre ce pot sau nu fi activate sau dezactivate funcție de necesitățile utilizatorului. - Current Folder – oferă utilizatoului acces-ul la fisierele existente din directorul curent, aflat în lucru. Fisierele listate trebuie sa corespunda caii de lucru afișată în bara de lucru (vezi imaginea de mai jos). Fisierele se pot activa prin dublu click. Calea de lucru
-
-
Din subfereastra Command Window utilizatorul lansează comenzi Matlab; Ficare variabilă declarată sau/și returnă se înregistrează în Workspace. Traducerea cuvântului workspace este ‚spațiul de lucru’, în realitate reprezintă ansamblul variabilelor înmagazinate în memoria virtuală a programului. O dată închis programul, aceste variabile dispar; Fereastra Command History afişează o listă a funcţiilor lansate recent în Command Window. Fiecare sesiune de comenzi corespunde unei dată clendaristică și oră. Current Folder folder-ul cu fișierele în lucru
Command Window Workspace – variabilele fereastra pentru incărcate în spațiul de lucur editare comenzi
Fiecare subfereastra are în colțul din drepata sus următoarele iconițe sunt:
Command History – înregistrare comenzi editate în Command Window funcție de dată și oră
. Semnificațiile lor
minimize window – minimizează fereastra; maximize window - maximizează fereastra de comandă; undock window - daca săgeata este orientată așa se permite deblocarea ferestei, permițând astfel să plutească independent de fereastra principală. Dacă iconița este activată ea se transformă în altă iconiță, - dock window , care permite oricând reblocarea în fereastra principală a Matlab-ului; close window – închiderea ferestrei.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Din figura de mai jos se poate observa că accesul la subferestele prezentate mai sus se poate face doar dacă sunt active prin bifarea lor în meniul Desktop din bara de lucru a Matab-ului.
După cum se poate vedea în figura de mai jos ,cu drag-and-drop se pot face permutari în modul de amplasare a subferestrelor în fereastra principală de lucru a Matlab-ului.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Comenzile pot fi scrise direct în Comand Window. Acest lucru este util atunci când se fac încercări scurte care nu implică bucle de control logice. Matlab-ul permite utilizatorului să economisească timp prin revenirea la comenzile anterioare scrise, vizibile în Comand History, doar prin simpla apasare a sageții de orientare în sus existentă la tastatura oricărui calculator. Dacă cineva ar alege sa scrie o buclă ciclică în fereastra de comandă, o simplă greșeala de tastare ar fi vizibilă doar când bucla este închisă, iar corectarea ulterioară a greșelii ar presupune rescrierea de la capăt a întregii bucle ciclice. Pentru aceasta utilizatorului i se oferă posibilitatea utilizării fișierelor m.file. Activarea unui astfel de fișier gol se poate face direct prin CTRL+N sau din bara de meniu prin activarea succesiunii File New Click+Script.
Una din aceste comenzi conduce la Editor-ul de mai jos. Inițial acesta are numele Untitled.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
La salvarea unui astfel de fișier extensia data va fi .m.
Acesta va fi salvat în directorul curent. Putem schimba destinați de salvare a unui fișier .m, însă utilizatorul trebuie să știe că accesul la acesta, precum și rularea lui se poate face doar dacă calea de lucru corespunde locației unde este salvat fișierul. Să presupunem că avem calea corectă, atunci pentru salvarea și rularea acestuia se selectează din meniul editorului secvența Debug->click+Save File and Run, fie se tastează tasta F5 ce echivalează secvența anterioară. În exemplul de mai sus fișierul .m a fost salvat cu primul_program.m. După ce a fost salvat optiunea de salvare nu mai apare din meniul de Debug, ci doar opțiunea de rulare.
fie se editează în Command Window numele fișierului .m și apasă Enter. >> primul_program
a = 5 b = 5
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
După cum se poate observa fiecare linie este numerotată si chiar și liniile cu spații goale. Atfel orice warning afisat in linia de comanda dupa rulare va indica o greseala la o anumita linie si chiar coloana. De exemplu pentru linia a treia avem:
Următorul advertisment:
>> ??? Error: File: primul_program.m Line: 3 Column: 11 This statement is incomplete.
Pentru exemplul:
Primim advertismentul:
>> ??? Error: File: primul_program.m Line: 3 Column: 12 Unbalanced or unexpected parenthesis or bracket.
Se poate observa că acolo unde localizată eroarea apare chiar și o subliniere de culoare roșie.
În afară de fișierele .m mai există și alte tipuri de fișiere care nu fac obiectul laboratoarelor ce vor urma, dar care pot fi accesate de catre utilizator pentru a le explora. Salvarea acestor fișiere trebuie să îndeplinească aceleași criterii mai sus menționate. Help-ul Matab-ului
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Utilizatorul de Matlab are ca ajutor un help, care oferă informații utilie pentru a explora diversele funcțiir preexistente ale Matlab-ului. Astfel, doar prin simpla tastare în Command Window a comenzii ‚>>help ’ (ca în exemplul de mai jos unde numele funcției este sin) se obțiin explicații și informații ce pot fi aplicate, precum și accesul la un doc care oferă explicați și example mult mai vaste decat cele deja menționate. >> help sin SIN Sine of argument in radians. SIN(X) is the sine of the elements of X. See also asin, sind. Overloaded methods: codistributed/sin
Reference page in Help browser doc sin
Unelte pentru reprezentari grafice în Matlab
Prin simpla tastare a cuvantului cheie figure în fereastra de comandă a Matlab-ului: >>figure
se obține fereastra pentru reprezentarea grafică. Ea este goală ca în exemplul de mai jos.
Dacă, de exemplu, în continuare se tastează instrucțiuniile: >> >> >> >>
x=-10:10; y=sin(x);z=y+2;w=sin(x+1); figure(11); plot(x,y,'r',x,z,'k',x,w)
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Apar trei reprezentări grafice in aceiaș figură prin folosirea instrucțiunii plot (utilitatea aceste instrucțiuni va fi prezentată într-un laborator viitor).
Se poate observa că se poate face o selecție asupra numărului de figură în care se dorește realizarea reprezentării grafice (i.e. Figure 11). Copierea acestor grafice înt-un document word se poate face prin simpla selecție a opțiunii Copy Figure din meniul Edit al ferestrei.
3
2.5
2
1.5
1
0.5
0
-0.5
-1 -10
-8
-6
-4
-2
0
2
4
6
8
10
MATLAB permite modificarea graficelor, setarea scalarii axelor, inclusiv marcajul axelor, culorile stilul liniilor pentru distingerea curbelor intr-un grafic. Uneori este posibil sa doriţi modificarea formatului implicit sa adaugati etichete, titluri, legende si alte notaţii. MATLAB permite doua cai de editarea a graficelor: • Folosind mouse-ul pentru a selecta si edita obiectele in mod interactiv, respectiv • Folosind funcţiile MATLAB la linia de comanda sau intr-un fişier M-file
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Editarea interactiva a graficelor. Puteţi edita interactiv graficele in fereastra figure MATLAB. Astfel puteţi selecta obiectul sau obiectele grafice pe care doriţi sa le modificaţi prin dublu-clic. Aceasta comanda lansează Property Editor, care permite acces la proprietatile obiectului respectiv. Această fereastra are la rândul ei o bară de meniu care permite utilizatorului diverse actiunii ca, import de date pentru reprezentare grafica, salvare in domeniul de lucru, manipularea axelor unei figuri, sau a lebal-urilor existente pe figura, inserare de reorezentari grafice sau de marcari ajutatori, etc.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Exista si submodulul de Simulink care ofera posibilitatea realizarea diferitelor modele matematice doar prin asamblarea unor scheme bloc cu functii de transfer, amplificatoare, sumatoare, limitatoare, etc. Tot ceea ce tine chiar si de u modl fizic real redus la scara matematica.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o
Toolbox
Dezavantajele Matlab-ului?
Depinde mult de memoria RAM a calculatorului. Daca capacitatea necesară pentru prelucrarea datelor implementate în Matlab este prea mare procesarea nu poate fi dusă până la capăt fiind returnat un mesaj de eroare ca ‚out of memory’ sau chiar blocarea calculatorului.
cop adr y ian righ a.b t re url s iba erve sa@ d to ug al.r o