Você está na página 1de 97

APLICAII MATLAB

1. PREZENTARE GENERAL
MATLAB

= Limbaj de nalt performan pentru proiectarea asistat de calculator


MATLAB este n acelai timp un limbaj de programare i un sistem de dezvoltare care integreaz
calculul, izualizarea i programarea ntr!un mediu uor de utilizat "eas#!to!use$, problemele i
soluiile acestor probleme fiind e%primate ntr!un limbaj matematic accesibil&
Domenii de utilizare'
Matematic i calcul numeric
(ezoltarea algoritmilor
Modelare, simulare i testarea prototipurilor
Analiza i izualizarea datelor
)rafica inginereasc i din tiinele aplicate
(ezoltarea de aplicaii, inclusi )*+
MATLAB = sistem interacti care are ca element de baz tabloul, matricea, ceea ce permite
rezolarea problemelor de calcul numeric, n special cele care necesit prelucrarea de
ectori sau matrici&
,umele MATLAB proine de la Matrix laboratory
-irma productoare este The MathWorks, Inc., !A
MATLAB!ul a eoluat'
- n mediul uniersitar unde este pac.etul standard pentru cursurile introductie i aansate de
matematic, inginerie i tiine
- n industrie, unde este utilizat pentru cercetarea de nalt randament, dezoltare i producie
MATLAB permite dezoltarea unei familii de aplicaii sub forma toolbox!urilor& Aceste
toolbox-uri permit narea i aplicarea te.nologiilor specializate din dierse domenii& /unt
disponibile toolbo%!uri pentru domenii cum ar fi' procesarea numeric a semnalelor, sisteme
de conducere automat, reele neurale, logic fuzz#, 0aelet, simulare "IM!LIN"$,
identificare etc&
Sistemul MATLAB const n cinci pri principale'
L#$%a&'( MATLAB
Me)#'( )e ('cr' MATLAB
*an)(e Gra+h#cs

B#%(#oteca )e ,'nc-## $ate$at#ce a MATLAB.'('#


Inter,a-a )e a+(#ca-## +ro/ra$ a MATLAB.'('# 0API1
Limbajul MATLAB: 1eprezint un limbaj de niel nalt de tip matrice2tablou cu instruciuni
de control al salturilor, funcii, structuri de date, intrri2ieiri i cu proprieti de programare
orientat pe obiecte& -acilitile de programare sunt organizate pe 3 directoare'
ops
4perators and special c.aracters&
Lang
5rogramming language constructs&
6
Strfun
7.aracter strings&
Iofun
-ile input2output&
Timefun
Time and dates&
Datatypes
(ata t#pes and structures&
Mediul de lucru MATLAB: 1eprezint un set de faciliti care permit manerarea
ariabilelor n spaiul de lucru, importul i e%portul de date, dezoltarea, manipularea, editarea i
depanarea fiierelor MATLAB "&m$ i a aplicaiilor MATLAB& Aceste faciliti sunt organizate n
directorul'
general
)eneral purpose commands&
Handle Grapics
!
: 1eprezint sistemul grafic al MATLAB!ului& 7uprinde comenzi de nalt
niel pentru izualizarea datelor bi i tri!dimensionale, procesarea imaginilor, animaie, prezentri
de grafice& 5ermite de asemenea utilizarea unor comenzi de niel sczut pentru crearea unor
interfee grafice )*+& -unciile grafice sunt organizate n 8 directoare'
graph2d
T0o!dimensional grap.s&
Graph3d
T.ree!dimensional grap.s&
Specgraph
/pecialized grap.s&
Graphics
9andle )rap.ics&
Uitools
)rap.ical user interface tools&
Biblioteca de "unc#ii matematice a MATLAB$ului: 1eprezint o colecie comple% de
algoritmi de calcul pornind de la funcii elementare "sinus, cosinus etc&$ p:n la funcii sofisticate
"inersarea de matrice, alori proprii, funcii Bessel, --T etc&$& -unciile matematice sunt organizate
n ; directoare'
elmat
<lementar# matrices and matri% manipulation&
Elfun
<lementar# mat. functions&
Specfun
/pecialized mat. functions&
Matfun
Matri% functions = numerical linear algebra&
Datafun
(ata anal#sis and -ourier transforms&
Polyfun
+nterpolation and pol#nomials&
Funfun
-unction functions and 4(< solers&
Sparfun
/parse matrices&
%nter"a#a de aplica#ii program a MATLAB$ului &A'%( este o bibliotec care permite
scrierea de programe n 7 sau -ortran care interacioneaz cu MATLAB!ul& +nclude faciliti
pentru apelarea rutinelor din MATLAB, apelarea MATLAB!ului ca main de calcul, scrierea i
citirea fiierelor de tip &MAT &
Pachet'( IM!LIN"
/+M*L+,>
?
este un pac.et soft0are ataat MATLAB!ului i reprezint un sistem
interacti pentru simularea dinamicii sistemelor neliniare "bineneles i a celor liniare$& <ste
conceput sub forma unei interfee grafice care permite crearea unui model prin @trasareaA
sc.emei bloc a sistemului i apoi simularea dinamicii sistemului&
/+M*L+,> poate lucra cu sisteme liniare, neliniare, continue, discrete,
multiariabile etc&
B
/+M*L+,> bebeficiaz de aa!numitele Blockset!uri care sunt de fapt biblioteci
suplimentare care conin aplicaii specializate din domenii cum ar fi' comunicaii, procesarea
semnalelor etc&
Real-time Workshop

este un program foarte important care permite generarea unui


cod 7 pentru sc.emele bloc create n /+M*L+,> i prin urmare permite rularea de aplicaii
n timp real de o mare diersitate&
Too(%o2.'r#(e MATLAB
Toolbo%!urile reprezint o familie de aplicaii care permit narea i aplicarea te.nologiilor
specializate din dierse domenii& Aceste toolbo%!uri sunt colecii de funcii MATLAB "functions$
"M!files$ care e%tind mediul MATLAB pentru rezolarea unor clase particulare de probleme&
7:tea din cele mai utilizate aplicaii sunt prezentate n figura urmtoare&
3. 4!N5AMENTELE PR6GRAMRII 7N MATLAB
C
3.1. E2+res## ,'n)a$enta(e
MATLAB!ul lucreaz cu e%presii matematice ca i celelalte limbaje de programare, dar spre
deosebire de majoritatea acestor limbaje, aceste e%presii implic la scar larg lucrul cu matrici&
<%presiile sunt alctuite cu ajutorul urmtoarelor tipuri'
Dariabile
,umere
4peratori
-uncii
)ariabile
MATLAB!ul nu necesit declararea dimensiunii ariabilelor, deoarece la nt:lnirea unui nou
nume de ariabil genereaz automat ariabila respecti i aloc spaiul necesar de
memorie&
,umele unei ariabile este o liter, urmat de un numr oric:t de mare de litere, cifre sau
simboluri& (in acest numr @oric:t de mareA sunt oprite primele C6 de caractere&
MATLAB!ul este case sensitive ! face distincie ntre literele mici i cele mari&
<%emplu'
a " 3#
creeaz o matrice 6 % 6 cu numele a i stoc.eaz aloarea acesteia CE ntr!o singur locaie
corespunztoare singurului element al matricei&
*umere
MATLAB!ul utilizeaz notaia zecimal, cu punct zecimal opional i cu semn F sau !& /e
utilizeaz i notaia tiinific cu litera e pentru a specifica o putere a lui 6E& 1eprezentarea
numerelor imaginare este realizat cu litera i sau $ ca sufi%&
<%emple'
3 %&& #'###(
&')3&*23+ (')#2(#e%2# )'#22,2e23
(i %3'(-(,&$ 3e,i
Toate numerele sunt stocate intern utiliz:nd formatul long specificat de standardul +<<< n
irgul mobil "precizie de 63 zecimale semnificatie n domeniul 6E
!CE;
la 6E
FCE;
$&
+peratori
<%presiile utilizeaz operatori aritmetici uzuali'
. /dunare
% Sc0dere
1 Multiplicare
2 3mp0r4ire
5 3mp0r4ire la st6nga
7 8idicarea la o putere
9 Transpusa comple: con$ugat0
;
<
=peratorul de specificare a
ordinii de e>aluare
G
,unc#ii
MATLAB!ul furnizeaz un mare numr de funcii matematice elementare standard ;a?s@
sArt@ e:p@ sin B<'
<%ist i funcii matematice aansate "funcii Bessel, gama etc&$, multe dintre acestea accept:nd
argumente comple%e&
5entru izualizarea funciilor elementare se poate tasta'
help elfun
5entru a edea lista funciilor aansate se poate tasta'
help specfun
help elmat
4 parte din funcii "cum ar fi sArt@ sin<sunt de tip built-in, adic sunt o parte a nucleului
MATLAB, au o mare eficien, dar detaliile constructie nu sunt accesibile utilizatorului&
Alte funcii sunt implementate ca fiiere MATLAB "M!files$ i pot fi c.iar modificate&
7:tea funcii furnizeaz alorile unor constante uniersale'
pi 3'(-(,&2),
I Imaginary unit@ %(
C Same as I
Eps
Floating%point relati>e precision@ 2
%,2
8ealmin Smallest floating%point num?er@ 2
%(#22
8ealma: Largest floating%point num?er@ 2
(#23
Inf Infinity
DaD Dot%a%num?er
,umele funciilor nu sunt rezerate i deci este posibil suprascrierea lor&
<%emplu'
eps " ('e%)
-uncia original este reconstituit prin comanda'
clear eps
E2+res##
<%emple de e%presii i rezultatele corespunztoare ale ealurii acestor e%presii'
rho " ;(.sArt;,<<22
rho "
(')(+#
a " a?s;3.-i<
a "
,
E " sArt;?esselF;-23@rho%i<<
E "
#'3*3#. #'32(-i
huge " e:p;log;realma:<<
huge "
('*&**e.3#+
too?ig " pi1huge
8
too?ig "
Inf
3.3. *e(+ on.(#ne, ,or$at'( )ate(or, o+-#'n# )e sa(8are
*e(+ on.(#ne
5entru rularea MATLAB pe un 57 trebuie pur i simplu e%ecutat un dublu clicH cu mouse!ul
pe icon!ul MATLAB& (ac sistemul de operare nu este de tip Iindo0s "este de tip *,+J$ trebuie
tastat matla? dup prompter!ul sistemului de operare&
o Limbajul MATLAB este mult mai simplu de nat dac se renun la inspectarea arid a
listelor cu ariabile, funcii i operatori i se utilizeaz n sc.imb comenzile help@
helpdesF@ demo tastate direct de la prompterul MATLAB&
o 5entru aflarea tuturor informaiilor utile despre o comand sau o funcie se tasteaz help
urmat de numele comenzii sau funciei respectie&
o 5ac.etul MATLAB dispune de asemenea de informaii complete despre utilizare sub forma unei documentaii
tip &pdf&
o Kn cazuri particulare se poate apela la +,T<1,<T, e%ist:nd o legtur la pagina Ieb a firmei productoare&
o Alte comenzi utile pentru aflarea de informaii sunt' helpGin@ looFfor@ help help&
<%emple sugestie de utilizare a comenzii .elp'
help sin
SID Sine'
SID;H< is the sine of the elements of H'
=>erloaded methods
help sym2sin'm
help e:p
EHP E:ponential'
EHP;H< is the e:ponential of the elements of H@ e
to the H'
For comple: I"H.i1J@ EHP;I< "
EHP;H<1;K=S;J<.i1SID;J<<'

See also L=G@ L=G(#@ EHPM@ EHPIDT'
=>erloaded methods
help sym2e:p'm
help demtseries2e:p'm
help plot
PL=T Linear plot'
PL=T;H@J< plots >ector J >ersus >ector H' If H or J is a matri:@ then the
>ector is plotted >ersus the roGs or columns of the matri:@ Ghiche>er line up'
If H is a scalar and J is a >ector@ length;J< disconnected points are plotted'
PL=T;J< plots the columns of J >ersus their inde:' If J is comple:@ PL=T;J<
is eAui>alent to PL=T;real;J<@imag;J<<' In all other uses of PL=T@ the imaginary
part is ignored'
Larious line types@ plot sym?ols and colors may ?e o?tained Gith PL=T;H@J@S<
Ghere S is a character string made from one element from any or all the
folloGing 3 colunmsM

y yelloG ' point % solid
m magenta o circle M dotted
c cyan : :%marF %' dashdot
r red . plus %% dashed
g green 1 star
3
? ?lue s sAuare
G Ghite d diamond
F ?lacF > triangle ;doGn<
7 triangle ;up<
N triangle ;left<
O triangle ;right<
p pentagram
h he:agram

For e:ample@ PL=T;H@J@9c.M9< plots a cyan dotted line Gith a plus at each
data pointP PL=T;H@J@9?d9< plots ?lue diamond at each data point ?ut does not
draG any line'
PL=T;H(@J(@S(@H2@J2@S2@H3@J3@S3@'''< com?ines the plots defined ?y the
;H@J@S< triples@ Ghere the H9s and J9s are >ectors or matrices and the S9s are
strings'
For e:ample@ PL=T;H@J@9y%9@H@J@9go9< plots the data tGice@ Gith a solid
yelloG line interpolating green circles at the data points'
The PL=T command@ if no color is specified@ maFes automatic use of the
colors specified ?y the a:es Kolor=rder property' The default Kolor=rder is
listed in the ta?le a?o>e for color systems Ghere the default is yelloG for one
line@ and for multiple lines@ to cycle through the first si: colors in the
ta?le' For monochrome systems@ PL=T cycles o>er the a:es LineStyle=rder
property'
PL=T returns a column >ector of handles to LIDE o?$ects@ one handle per line'
The H@J pairs@ or H@J@S triples@ can ?e folloGed ?y parameter2>alue pairs to
specify additional properties of the lines'
See also SEMIL=GH@ SEMIL=GJ@ L=GL=G@ G8ID@ KLF@ KLK@ TITLE@ HL/QEL@ JL/QEL@
/HIS@ /HES@ R=LD@ K=L=8DEF@ LEGEDD@ and SUQPL=T'
4or$at'( )ate(or
MATLAB!ul afieaz numerele cu 8 zecimale "setare implicit$& Aceast setare se poate
modifica cu ajutorul comenzii formatM
F=8M/T Set output format'
/ll computations in M/TL/Q are done in dou?le precision'
F=8M/T may ?e used to sGitch ?etGeen different output
display formats as folloGsM
F=8M/T Default' Same as SR=8T'
F=8M/T SR=8T Scaled fi:ed point format Gith , digits'
F=8M/T L=DG Scaled fi:ed point format Gith (, digits'
F=8M/T SR=8T E Floating point format Gith , digits'
F=8M/T L=DG E Floating point format Gith (, digits'
F=8M/T SR=8T G Qest of fi:ed or floating point format Gith
, digits'
F=8M/T L=DG G Qest of fi:ed or floating point format Gith
(, digits'
F=8M/T REH Re:adecimal format'
F=8M/T . The sym?ols .@ % and ?lanF are printed
for positi>e@ negati>e and Eero elements'
Imaginary parts are ignored'
F=8M/T Q/DS Fi:ed format for dollars and cents'
F=8M/T 8/T /ppro:imation ?y ratio of small integers'
SpacingM
F=8M/T K=MP/KT Suppress e:tra line%feeds'
F=8M/T L==SE Puts the e:tra line%feeds ?acF in'
<%emple'
c"('333-,)*+&233
c "
('333,
format long
c
L
c "
('333-,)*+&233##
format short e
c
c "
('333,e.###
format long e
c
c "
('333-,)*+&233###e.###
format
c
c "
('333,
6+-#'n# )e sa(8are
5entru salarea ariabilelor curente cu care se lucreaz n MATLAB la nc.eierea unei
sesiuni de lucru se poate utiliza comanda sa>e&
Aceast comand a sala toate ariabilele curente generate de ctre utilizator ntr!un
fiier numit matlab.mat . (ac se dorete se poate da un nume fiierului de date n care se
saleaz ariabilele&
<%emplu'
sa>e date c determ /
realizeaz salarea datelor c, determ i A ntr!un fiier date.mat &
5entru restituirea ariabilelor ntr!o sesiune de lucru ulterioar se folosete comanda
load' <%emplu'
load date
(ac se dorete aflarea ariabilelor curente se pot utiliza comenzile Gho@Ghos'
Gho
Jour >aria?les areM
/ c determ
Ghos
Dame SiEe Qytes Klass
/ 2:2 32 dou?le array
c (:( + dou?le array
determ (:( + dou?le array
Grand total is ) elements using -+ ?ytes
5entru tergerea tuturor ariabilelor curente din memoria de lucru se poate utiliza
comanda clear&
3.9. Crearea ,#:#ere(or MATLAB 0.$ ,#(es1
(eoarece este mult mai comod i util dec:t introducerea comenzilor linie dup linie la
prompterul MATLAB, se lucreaz cu fiiere te%t care conin aceste linii program cu comenzile
necesare&
;
Aceste fiiere conin cod n limbajul MATLAB i sunt denumite &m files "sau M!files$&
-iierele se creeaz utiliz:nd un editor de te%t i apoi se utilizeaz ca o comand MATLAB
obinuit&
/unt dou tipuri de fiiere &m'
-iiere /cript, care nu accept argumente de intrare i nu returneaz argumente de ieire&
Aceste fiiere opereaz cu datele din spaiul de lucru&
1utine "funcii$, care accept argumente de intrare i returneaz argumente de ieire&
Dariabilele utilizate sunt ariabile locale "interne$ ale funciei&
5entru a edea coninutul unui fiier MATLAB, de e%emplu evolutie_studii.m, se folosete
comanda'
type e>olutieTstudii
,i-iere Script
Atunci c:nd se apeleaz la un fiier script, MATLAB!ul e%ecut comenzile gsite n fiierul
respecti& -iierele script pot lucra cu date din spaiul de lucru "0orHspace$ sau pot crea date noi cu
care opereaz& /cript!urile nu furnizeaz argumente de ieire, iar ariabilele create rm:n n
0orHspace, pentru a fi eentual folosite n calculele ulterioare&
-iierele script pot furniza ieiri grafice folosind funcii cum ar fi plot@?ar&
<%emplu de fiier script' magicrank.m, cu urmtoarele comenzi MATLAB'
U In>estigate the ranF of magic sAuares
r " Eeros;(@32<P
for n " 3M32
r;n< " ranF;magic;n<<P
end
r
?ar;r<
La tastarea numelui fiierului script "fr e%tensia &m$'
magicranF
MATLAB!ul e%ecut comenzile, calculeaz rangul unor matrici "matricile magice$, i traseaz
graficul cu rezultatele calculului& (up ce se termin e%ecuia fiierului, ariabilele n i r rm:n n
spaiul de lucru&
)raficul rezultat este prezentat n continuare'
M
,unc#ii &rutine(
Aceste fiiere accept argumente de intrare i furnizeaz argumente de ieire& ,umele fiierului
MATLAB "M!file$ i cel al funciei "subrutinei$ respectie trebuie s fie identice& -unciile
"subrutinele$ lucreaz cu ariabile proprii separate de spaiul de lucru uzual al MATLAB!ului&
<%emplu' funcia ranF& -iierul M!file ranF'm este disponibil n directorul
tool?o:2matla?2matfun
/e poate izualiza fiierul cu comanda'
type ranF
function r " ranF;/@tol<
U 8/DS Matri: ranF'
U 8/DS;/< pro>ides an estimate of the num?er of
U linearly independent roGs or columns of a matri: /
U 8/DS;/@tol< is the num?er of singular >alues of /
U that are larger than tol'
U 8/DS;/< uses the default
U tol " ma:;siEe;/<< 1 norm;/< 1 eps'
s " s>d;/<P
if nargin""(
tol " ma:;siEe;/<< 1 ma:;s< 1 epsP
end
r " sum;s O tol<P
5rima linie a unei funcii M!file ncepe cu cu:ntul c.eie function& Aceast linie d numele
funciei, ordinea i numrul argumentelor&
Liniile urmtoare "care ncep cu caracterul N$ sunt linii de comentariu, care de fapt sunt i
liniile afiate atunci c:nd se apeleaz la comanda
help ranF
1estul liniilor sunt e%ecutabile& Dariabila s@ ca i r, /@ tol sunt ariabile locale ale funciei i sunt
separate de ariabilele din 0orHspace&
-uncia ranF poate fi utilizat n diferite moduri'
ranF;/<
r " ranF;/<
r " ranF;/@('e%)<
)ariabile globale
(ac se dorete ca mai multe astfel de subrutine s utilizeze o anume ariabil comun, se
declar ariabila respecti ca global utiliz:nd comanda glo?al n toate funciile respectie&
<%emplu' fiierul falling'm'
function h " falling;t<
glo?al G8/LITJ
h " (221G8/LITJ1t'72P
/e introduc apoi n mod interacti liniile'
glo?al G8/LITJ
G8/LITJ " 32P
y " falling;;#M'(M,<9<P
,unc#ia eval
-uncia e>al lucreaz cu ariabil te%t pentru implementarea unei faciliti puternice de tip
macro te%t&
<%presia
e>al;s<
folosete interpreter!ul MATLAB pentru ealuarea e%presiei sau e%ecuia declaraiei din irul de
caractere s&
6E
)ectorizarea
5entru a obine o itez de calcul mare, este foarte important aa!numita ectorizare a
algoritmilor n fiierele MATLAB& Acolo unde alte limbaje folosesc bucle de tip for sau D=,
MATLAB!ul poate utiliza operaii matriceale sau ectoriale&
*n e%emplu simplu este urmtorul'
: " #P
for F " (M(##(
y;F< " log(#;:<P
: " : . '#(P
end
Dersiunea ectorizat a aceluiai program este
: " #M'#(M(#P
y " log(#;:<P
5rogramatorii MATLAB spun uneori'
!ia"a este prea scurt# pentru a "i-o petrece scriind bucle$
Atunci c:nd nu se poate elimina complet folosirea unei bucle se utilizeaz procedura de
prealocare&
,unc#ii de "unc#ii
Kn MATLAB e%ist o clas de funcii care lucreaz cu funcii neliniare ca argument& -unciile de
funcii includ'
)sirea zerourilor
4ptimizare
+ntegrare numeric
<cuaii difereniale ordinare
MATLAB!ul reprezint funcia neliniar ca o funcie M!file care poate fi ulterior utilizat ca
argument de alte funcii MATLAB&
<%emplu'
*rmtorul fiier creeaz o funcie neliniar'
function y " humps;:<
y " ('2;;:%'3<'72 . '#(< . ('2;;:%'&<'72 . '#-< % )P
Aceast funcie poate fi ealuat pentru un set de puncte n interalul E % 6 cu programul'
: " #M'##2M(P
y " humps;:<P
i apoi se poate reprezenta grafic funcia cu comanda
plot;:@y<
)raficul arat c funcia are un minim local la apro%imati x = E&3& (ac de e%emplu utilizm
funcia fmins putem gsi imediat aloarea e%act a lui x & 5rimul argument al funciei fmins este
c.iar numele funciei pentru care calculm minimul "al doilea parametru este o apro%imare grosier
a localizrii minimului$&
p " fmins;9humps9@',<
p "
#')3*#
/e poate acum ealua aloarea funciei n punctul de minim local'
humps;p<
ans "
66
(('2,2+
3.;. Matr#c#, 8ector# :# +o(#noa$e
5entru a lucra uor i bine cu limbajul MATLAB trebuie n primul r:nd s se nee
manipularea matricilor& Kn MATLAB, o matrice este un tablou dreptung.iular de numere& /calarii
de e%emplu sunt matrici 6 % 6, iar matricile cu o singur linie sau coloan sunt de fapt ectori&
*n e%emplu celebru de matrice apare n graura renascentist Melancolia realizat de marele
artist i matematician amator Albrec.t (Orer& )raura este ncrcat de simbolism matematic i la o
atent obserare a acesteia se poate distinge n colul din dreapta sus o matrice&
Matricea respecti este cunoscut sub numele de ptrat magic i n timpul lui (Orer se
considera c are proprieti magice&

6B
%ntroducerea matricilor
Matricile se pot introduce n mai multe moduri&
+ntroducerea unei liste e%plicite cu elementele matricei&
Kncrcarea unor date din fiere e%terne de date&
)enerarea de matrici utiliz:nd funcii built!in&
7rearea de matrici n fiierele M!files&
Dom introduce matricea lui (Orer mai nt:i ca o list de elemente&
Trebuie respectate c:tea conenii simple'
<lementele unei linii sunt separate prin irgule sau spaii&
/f:ritul unei linii se marc.eaz cu punct i irgul&
Lista de elemente care formeaz matricea se delimiteaz cu paranteze drepte'
V W
5entru introducerea matricii lui (Orer tastm'

/ " V() 3 2 (3P , (# (( +P & ) * (2P - (, (- (W
MATLAB!ul a afia matricea'
/ "
() 3 2 (3
, (# (( +
& ) * (2
- (, (- (
4 dat introdus, matricea este memorat n 0orHspace i poate fi apelat simplu, ca /&
/ edem acum' de ce este magicP
sum. transpose. diag
7aracterul magic deri din faptul c prin efectuarea unor operaii asupra elementelor matrici
rezult numere interesante i surprinztoare&
(ac de e%emplu nsumm elementele pe orice linie sau coloan sau de pe cele dou diagonale,
om obine acelai numr&
/ erificm acest lucru cu MATLAB!ul& /uma elementelor de pe cele G coloane se calculeaz
rapid cu'
sum;/<
ans "
3- 3- 3- 3-
5entru calcularea sumelor pe linii, efectum nt:i transpunerea matricii i apoi aplic din nou
comanda sum&
Transpusa se calculeaz cu'
/9
ans "
() , & -
3 (# ) (,
2 (( * (-
(3 + (2 (
i apoi
sum;/9<9
ans "
3-
6C
3-
3-
3-
/uma elementelor de pe diagonal se calculeaz cu tot cu funcia sum, dar dup ce n prealabil
om sorta cu funcia diag elementele de pe diagonala principal'
diag;/<
ans "
()
(#
*
(
sum;diag;/<<
ans "
3-
*n anume element al matricii, de e%emplu elementul din linia i coloana $ se noteaz /;i@$<&
5rin urmare o alt cale "mai puin rapid$ de a calcula suma de pe patra coloan de e%emplu
este urmtoarea'
/;(@-< . /;2@-< . /;3@-< . /;-@-<
ans "
3-
(ac specificm un element care nu e%ist n matrice, primim un mesaj de eroare'
t " /;-@,<
Inde: e:ceeds matri: dimensions'
+peratorul <
4peratorul M este foarte important& (e e%emplu, e%presia
(M(#
este un ector linie
ans "
( 2 3 - , ) * + & (#
Alte e%emple'
(##M%*M,#
ans "
(## &3 +) *& *2 ), ,+ ,(
#Mpi2-Mpi
ans "
# #'*+,- (',*#+ 2'3,)2 3'(-()
<%presia
/;(MF@$<
/e refer la primele F elemente ale coloanei $ a lui /&
(ac este utilizat n paranteze operatorul < atunci nseamn c ne referim la toate elementele
unei linii sau coloane
sum;/;M@3<<
calculeaz suma elementelor din coloana a treia a lui /'
ans "
3-
4 alt proprietate interesant a ptratului magic este c suma magic CG este obinut i prin
nsumarea elementelor matricii i prin mprirea la dimensiunea matricii "G$'
sum;(M()<2-
ans "
3-
6G
%bserva"ie' suma magic pentru orice ptrat magic n % n este "n
C
F n$2B "se poate calcula cu
ajutorul &ymbolic 'ath (oolbox$&
,unc#ia magic
MATLAB!ul are o funcie built!in care creeaz ptrate magice de orice dimensiune "funcie pe
care deja am utilizat!o$'
Q " magic;-<
Q "
() 2 3 (3
, (( (# +
& * ) (2
- (- (, (
Aceast matrice este aproape identic cu matricea lui (Orer singura diferen fiind c cele dou
coloane din mijloc sunt sc.imbate ntre ele& 5entru obinerea din Q a matricii lui (Orer se poate
utiliza urmtoarea comand MATLAB'
/ " Q;M@V( 3 2 -W<
/ "
() 3 2 (3
, (# (( +
& ) * (2
- (, (- (
'olinoame
5olinoamele sunt descrise n MATLAB prin ectori linie ale cror elemente sunt de fapt
coeficienii polinoamelor n ordinea descresctoare a puterilor&
<%emplu' polinomul p"%$=%
C
F8%F3 este reprezentat n MATLAB astfel'
p " V( # , )W
*n polinom poate fi ealuat pentru o aloare a lui % cu ajutorul funciei poly>al'
poly>al;p@(<
ans"
(2
Kn e%emplul de mai sus este ealuat polinomul p n punctul % =6&
/e pot afla cu uurin rdcinile polinomului folosind funcia roots'
r"roots;p<
r "
#',### . 2'3&*&i
#',### % 2'3&*&i
%('####
<%ist numeroase alte funcii i comenzi care se ocup cu operaii asupra polinoamelor,
funcii care or fi abordate ntr!un capitol special& (intre acestea amintim comanda care
permite nmulirea a dou polinoame, i anume con>'
p("V( 3 ,W
p( "
( 3 ,
p2"V2 # ( # ,W
p2 "
2 # ( # ,
p3"con>;p(@p2<
p3 "
2 ) (( 3 (# (, 2,
68
3.=. 6+era-#'n# e(e$entare c' $atr#c# :# ,'nc-##
MATLAB!ul opereaz cu matricile cu aceeai uurin cu care lucreaz cu scalarii& 5entru
adunarea a dou matrici de e%emplu se folosete pur i simplu semnul F ca la o adunare obinuit&
Bineneles c matricile trebuie s aib aceleai dimensiuni pentru a putea fi adunate&
<%emplu'
/"V2 3P(, %3W
/ "
2 3
(, %3
Q"V(( %2(P (2 -W
Q "
(( %2(
(2 -
K"/.Q
K "
(3 %(+
2* (
5entru nmulirea a dou matrici se folosete operatorul Q , alabil de altfel i pentru operaiile
cu scalari& <%emplu'
D"/1Q
D "
,+ %3#
(2& %32*
(ac dimensiunile matricilor care se nmulesc nu sunt corespunztoare, atunci a fi furnizat un
mesaj de eroare'
E"V( 23P %(2 2P( 2W
E "
( 23
%(2 2
( 2
F"/1E
XXX Error using ""O 1
Inner matri: dimensions must agree'
5entru @depanareaA programului n cazul unor astfel de greeli se poate utiliza comanda siEe
care ne d informaii despre dimensiunile matricilor respectie i permite corectarea erorilor'
siEe;/<
ans "
2 2
siEe;E<
ans "
3 2
MATLAB!ul include multe alte funcii care opereaz cu matrici i care or fi descrise i
utilizate intensi n capitolele urmtoare& Amintim aici c:tea' det@ in>@ ranF@ eig etc&
4 facilitate interesant a MATLAB!ului este aceea c lucreaz cu matricile cu operatori logici
i relaionali ntr!un mod asemntor acestor operaii efectuate cu scalari&
(e e%emplu, pentru operaiunea scalar
r"(*O,,
r "
#
MATLAB!ul rspunde cu r = E, adic )als& (ac dorim de e%emplu s comparm fiecare element al
matricii A cu elementul corespunztor din matricea B, procedm asemntor'
63
L"/N"Q
L "
( #
# (
4peratorii logici, adic R pentru S+ "A,($, T pentru /A* "41$, U pentru ,* ",4T$, or
returna aloarea 6 pentru A(<DV1AT i E pentru -AL/& <%emplu'
/YQ
ans "
( (
( (
Z/
ans "
# #
# #
9. ME5I!L 5E L!CR! MATLAB
MATLAB este, dup cum s!a afirmat deja, at:t un limbaj c:t i un mediu de programare& 7a
mediu de lucru, MATLAB include faciliti pentru manipularea ariabilelor n spaiul de lucru,
pentru importul i e%portul datelor, precum i instrumente pentru dezoltarea i manipularea
fiierelor "M!files$ i a aplicaiilor MATLAB&
Mediul de programare este utilizat n mod diferit n funcie de platforma pe care ruleaz
MATLAB!ul "este orba de sistemul de operare care poate fi de tip Iindo0s sau *ni%$&
9.1. tart'( :# ter$#narea ses#'n#(or )e ('cr'
5e platformele de tip Iindo0s, programul de instalare creeaz un @s.ortcutA la programul
e%ecutabil, s.ortcut care poate fi plasat pe desHtop "pe displa#!ul de lucru al calculatorului$&
5rin efectuarea unui dublu clicH pe icon!ul care reprezint acest s.ortcut se starteaz
MATLAB!ul&
5entru startarea MATLAB!ului pe un sistem *,+J trebuie tastat matla? la prompterul
sistemului de operare&
4#:#ere )e +orn#re 0tart'+ 4#(es1
La pornire, MATLAB!ul e%ecut automat fiierul master matla?rc'm i, dac e%ist, fiierul
startup'm&
-iierul matla?rc'm este rezerat pentru administratorul de sistem "reea$, n timp ce
fiierul startup'm este destinat utilizatorilor& (e aici se pot seta cile de acces, se pot defini
setrile implicite pentru instrumentele *andle +raphics i se pot predefini ariabile n spaiul de
lucru&
(e e%emplu, dac n startup'm se introduce linia
addpath 2home2me2mytools
se adaug un director de instrumente proprii pentru calea implicit de cutare&
5e platformele Iindo0s, fiierul startup'm se plaseaz n directorul local din directorul
tool?o:&
6+-#'n# )e +orn#re
/e pot specifica opiuni de pornire, aceste opiuni fiind adugate pe calea s.ortcut!ului
MATLAB&
Kn continuare sunt prezentate c:tea posibile opiuni&
6L
6+-#'nea )e
tart'+
5escr#ere
Automation /tarteaz MATLAB!ul ca un serer automat, minimizat, fr @splas. screenA&
Logfile
logfilename
/crie n mod automat ieirile din MATLAB ntr!un @log fileA specificat&
Minimize /tarteaz MATLAB!ul minimizat i fr @splas. screenA!ul MATLAB&
Dosplash
/tarteaz MATLAB!ul fr afiarea @splas. screenA!ului MATLAB&
r MWfile 1uleaz automat fiierul &m specificat imediat dup pornirea MATLAB&ului&
1egserer Modific regitrii Iindo0s cu intrri adecate tip ActieJ pentru MATLAB&
*nregserer
Modific regitrii Iindo0s pentru tergerea intrrilor ActieJ pentru
MATLAB& /e utilizeaz pentru resetarea regitrilor&
(e e%emplu, pentru a porni MATALB!ul i a rula imediat n mod automat un fiier cum ar fi de
e%emplu reEultate'm, se poate utiliza urmtoarea cale pentru s.ortcut'
DM5?in5nt5matla?'e:e 2r reEultate
Ter$#narea 'ne# ses#'n# )e ('cr'
5entru a prsi mediul MATLAB, se tasteaz Auit la prompterul MATLAB&
Kn cazul platformelor Iindo0s, se poate termina sesiunea prin selectarea opiunii e:it din
meniul -ile sau se poate utiliza butonul close izibil n colul din dreapta sus al ferestrei de
comand MATLAB&
7omanda Auit ruleaz fiierul finish'm, dac acesta e%ist n cile de cutare ale
MATLAB!ului& /e pot include comenzi de tipul sa>e n acest fiier, pentru a sala automat
ariabilele din spaiul de lucru la nc.eierea sesiunii& 4 alt opiune este de a cere afiarea unei
casete de dialog pentru confirmarea terminrii sesiunii& Aceste dou tipuri de opiuni se pot gsi
n directorul 2tool?o:2localM
finishsa>'mM permite salarea ariabilelor curente
finishdlg'mM afieaz o caset de dialog pentru confirmarea opririi
9.3. 4ereastra )e co$an)> 0,ereastra +r#nc#+a(>1
-ereastra de comand este fereastra principal prin intermediul creia se poate comunica cu
MATLAB!ul&
5e platformele Iindo0s, MATLAB!ul furnizeaz o fereastr special, cu faciliti de tip
Iindo0s&
5e sistemele *,+J, fereastra de comand este fereastra terminal din care este lansat
MATLAB!ul&
+nterpreterul MATLAB afieaz un prompter "OO$ indic:nd faptul c este gata s accepte
comenzile utilizatorului& (e e%emplu, pentru introducerea unei matrici C % C se poate tasta'
/ " V( 2 3P - , )P * + (#W
i la apsarea tastelor Enter sau Ret'rn, MATLAB!ul rspunde cu'
/ "
( 2 3
- , )
* + (#
6;
9.3.1. E)#tarea (#n##(or )e co$an)> ?n ,ereastra +r#nc#+a(>
Tastele de tip sgeat i tasta Ctr( permit apelarea, editarea i eentual reutilizarea comenzilor
editate anterior& (e e%emplu'
rho " ;(. sAt;,<<22
Undefined function or >aria?le 9sAt9'
5entru eliminarea greelii de editare a numelui funciei radical "sArt$ nu se mai editeaz din nou
toat linia, ci se folosete tasta , apare din nou linia de comand greit i apoi cu tasta se
deplaseaz cursorul pe linie i se repar greeala&
Lista complet a sgeilor i tastelor care permit controlul asupra operaiunilor cu linia de
comand este prezentat n tabelul urmtor'
Arro@ "eA Contro( "eA 6+erat#on
Ctr(.+ 1ecall preious line&
Ctr(.n 1ecall ne%t line&
Ctr(.% Moe bacH one c.aracter&
Ctr(., Moe )or0ard one c.aracter&
ctr(.
Ctr(.r Moe rig.t one 0ord&
ctr(.
Ctr(.( Moe left one 0ord&
ho$e Ctr(.a Moe to beginning of line&
en) Ctr(.e Moe to end of line&
esc Ctr(.' 7lear line&
)e( Ctr(.) (elete c.aracter at cursor&
%acks+ace Ctr(.h (elete c.aracter before cursor&
Ctr(.k (elete "kill$ to end of line&
/tergerea "erestrei de comand0
5entru tergerea coninutului "afiajul$ ferestrei principale se poate folosi comanda clc, care
ns nu are ca efect tergerea ariabilelor curente din spaiul de lucru&
1ontrolul a"i-0rii paginilor ecran 2n "ereastra de comand0
5entru a controla afiarea paginilor n fereastra de comand se utilizeaz comanda more&
/etarea implicit este more off& Atunci c:nd setm more on, o pagin ecran este afiat& Apoi se
poate utiliza'
Ret'rn To adance to t.e ne%t line
+ace Bar To adance to t.e ne%t page
B To stop displa#ing t.e output
3ntreruperea unui program care ruleaz0
/e poate ntrerupe un program care ruleaz prin apsarea pe tastele Ctr(.c&
5e sistemele Iindo0s se a atepta terminarea e%ecuiei funciilor de tip built!in sau a
fiierelor de tip M<J!file&
5e sistemele *,+J, e%ecuia programului se a nc.eia imediat&
6M
1omanda "ormat
7omanda format controleaz formatul numeric al alorilor afiate pe ecran i a fost deja
discutat ntr!un paragraf anterior& 7omanda are efect asupra afirii numerelor, i nu asupra
modului intern de reprezentare a acestora&
5e sistemele Iindo0s, se poate sc.imba setarea implicit a formatului prin selectarea meniului
Pre,erences din meniul 4#(e i selectarea formatului dorit din Genera(&
Suprimarea a"i-0rii rezultatelor unei linii comand0
(eoarece la apsarea tastelor Ret'rn sau Enter MATLAB!ul afieaz automat rezultatele pe
ecran, dac nc.eiem linia de comand cu punct i irgul, a fi realizat calculul, dar nu a mai fi
afiat& Aceast facilitate este important atunci c:nd aem de lucrat cu matrici mari sau cu multe
date& <%emplu'
/ " magic;(##<P
Linii de comand0 lungi
(ac o declaraie nu ncape ntr!o linie de comand, se pot utiliza trei puncte urmate de Ret'rn
sau Enter pentru a indica faptul c e%presia continu pe linia urmtoare& <%emplu'
s " ( % (22 . (23 % (2- . (2, % (2) . (2* '''
% (2+ . (2& % (2(# . (2(( % (2(2P
/paiile albe din jurul semnelor ", ., % sunt opionale i pot mbunti citirea liniilor&
Ma%imul numrului de caractere pe o singur linie este de GEM3&
9.3.3. 5escr#erea ,erestre# )e co$an)>
-ereastra de comand permite rularea comenzilor MATLAB, lansarea unor instrumente cum ar
fi <ditor2(ebugger i permite startarea toolbo%!urilor&
Toolbar &bara de instrumente(
Toolbar!ul din fereastra de comand permite accesul la operaii simple'
BE
Meniuri
Meniurile fereastrei de comand furnizeaz accesul la operaii care nu sunt accesibile din
toolbar&
're"erin#e
/unt utilizate pentru controlarea operaiilor i a modului de prezentare din fereastra de comand&
5entru aceasta se selecteaz Pre,erences din meniul 4#(e, iar dup apariia casetei de dialog
Pre,erences se pot seta preferinele pentru Genera(, Co$$an) W#n)o@ 4ont i Co+A#n/
6+t#ons.
B6
Genera( Pre,erences<
N'$er#c 4or$at = /pecific formatul numeric implicit&
E)#tor Pre,erence = 5ermite folosirea editorului MATLAB sau specificarea altui editor&
*e(+ 5#rectorA = /pecific directorul n care se afl fiierele de tip .elp&
Echo 6n = /eteaz facilitatea de afiare a liniilor program n timp ce un program MATLAB
este rulat&
ho@ Too(%ar = Arat sau ascunde toolbar!ul&
Ena%(e Gra+h#ca( 5e%'//#n/ = 5ermite depanarea "(ebugger$ n mod automat la fiecare
breaHpoint&
Co$$an) W#n)o@ 4ont<
/pecific caracteristicile fontului pentru te%tul afiat n fereastra de comand&
Co+A#n/ 6+t#ons<
/pecific opiunile utilizate la copierea unor obiecte din MATLAB n clipboard pentru rescrierea n
alte aplicaii&
9.3.9. +a-#'( )e ('cr' a( MATLAB.'('# 0@orks+ace1
/paiul de lucru conine un set de ariabie "numite tablouri sau matrice$ care pot fi manerate
din linia de comand& /e pot folosi comenzile Gho i Ghos "deja prezentate$ pentru a edea care
sunt ariabilele curente din 0orHspace& 5entru tergerea ariabilelor din 0orHspace se utilizeaz
comanda clear&
3nc0rcarea -i salvarea din 4or5space
7omenzile sae i load descrise ntr!un subcapitol anterior au rolul de a sala ariabilele din
spaiul de lucru i respecti de a le rencrca ntr!o sesiune ulterioar& Aceste comenzi se pot folosi
i pentru a importa i e%porta date&
5e platformele Iindo0s, operaiile sa>e@ load sunt disponibile i prin selectarea
opiunilor a8e Works+ace As, respecti Loa) Works+ace din meniul 4#(e&
7itirea sau scrierea unor fiiere &mat din programe e%terne n 7 sau -ortran se poate face cu
+nterfaa de Aplicaii 5rogram "A5+$&
-ormatul n care comanda sa>e stoc.eaz datele poate fi controlat prin adugarea unor flag!uri
n lista de nume de fiiere sau ariabile'
%mat
*tilizeaz formatul binar tip &MAT "implicit$&
%ascii
*tilizeaz formatul A/7++ pe ; digii&
%ascii %dou?le
*tilizeaz formatul A/7++ pe 63 digii&
%ascii %dou?le [ta?s
(elimiteaz elementele tablourilor cu tab!uri&
%>-
/aleaz ntr!un format pe care ersiunea G MATLAB l
poate desc.ide&
%append
Adaug datele ntr!un fiier &MAT e%istent&
BB
%bserva"ie, atunci c:nd se saleaz coninutul spaiului de lucru n format A/7++ trebuie salat
c:te o ariabil pentru a permite reconstituirea ulterioar a acesteia&
3nc0rcarea unor "i-iere cu date AS1%%
7omanda load permite importul de fiiere de date A/7++& <%emplu'
load di>erse'dat
creeaz o ariabil cu numele di>erse n 0orHspace& (ac datele A/7++ au m linii cu n alori pe
fiecare linie, rezultatul a fi o matrice numeric m % n&
*ume de "i-iere ca -iruri de caractere
(ac numele fiierelor sau ariabilelor cu care se lucreaz sunt stocate n ariabile de tip ir de
caractere, se poate folosi dualitatea comand2funcie pentru a apela load i sa>e ca funcii& (e
e%emplu
sa>e;9myfile9@9L/8(9@9L/829<
/ " 9myfile9P
load;/<
au acelai efect ca
sa>e myfile L/8( L/82
load myfile
5entru ncrcarea sau salarea mai multor fiiere cu acelai prefi% i cu sufi%e numere ntregi
succesie se poate utiliza o bucl& <%emplu'
file " 9data9P
for i " (M(#
$ " i'72P
sa>e;Vfile int2str;i<W@9$9<P
end
6ildcards
7omenzile load i sa>e permit specificarea unui caracter special de tip 0ildcard "1$& <%emplu'
sa>e rundata :1
saleaz toate ariabilele din 0orHspace care ncep cu : n fiierul rundata'mat&
Bro4ser$ul 6or5space
Bro0ser!ul IorHspace permite izualizarea coninutului spaiului de lucru curent "este de fapt
arianta grafic a comenzii Ghos$& 5entru a desc.ide acest instrument, se selecteaz ho@
Works+ace din meniul 4#(e i apoi se face clicH din mouse pe tasta Works+ace Bro@ser din
toolbar&
9.3.;. C># )e c>'tare
BC
MATLAB!ul utilizeaz o cale de cutare "search path$ pentru a gsi fiierele &m & Aceste fiiere
sunt organizate n directoare, din care unele sunt furnizate de MATLAB i altele sunt disponibile
separat ca toolbo%!uri&
(ac de e%emplu tastm numele fis la prompterul MATLAB, interpreterul MATLAB a face
urmtoarea cutare'
6& 7aut pe fis ca pe o ariabil&
B& Derific dac fis este o funcie tip buit!in&
C& 7aut n directorul curent fiierul numit fis'm&
G& 7aut n directoarele aflate n calea de cutare fiierul fis'm&

Scimbarea c0ii de c0utare
7alea de cutare poate fi afiat sau sc.imbat folosind funciile path, addpath, rmpath'
Path determin rentoarcerea la calea curent&
path;s<@ unde s este un ir de caractere, seteaz calea la s&
addpath 2home2li? \i path;path@92home2li?9< adaug noi directoare la calea de
cutare&
rmpath 2home2li? terge calea 2home2li?&
7alea de cutare implicit este definit n fiierul pathdef'm n directorul local'
,i-iere pe calea de c0utare
5entru a afia calea de cutare se poate folosi path& (ac dorim s edem ce fiiere MATLAB
sunt ntr!un director se utilizeaz comanda Ghat& <%emplu'
Ghat matla?2elfun
5entru a edea coninutul unui fiier se folosete comanda type "deja descris ntr!un paragraf
anterior$& <%emplu'
type ranF
5entru editarea unui fiier M!file se poate utiliza edit& <%emplu'
edit ranF
'at Bro4ser
MATLAB!ul furnizeaz i un bro0ser al cii de cutare "Path Bro@ser$ cu o interfa grafic
pentru izualizarea i sc.imbarea cii de cutare& 5entru startarea acestui bro0ser se utilizeaz
pathtool, sau se selecteaz et Path din meniul 4#(e, sau se face clicH pe butonul Path Bro@ser
din toolbar&
BG
Meniurile din Path Bro@ser pot fi folosite pentru'
Adugarea unui director pe calea de cutare&
Stergerea "ndeprtarea$ unui director din cale&
/alarea setrilor n fiierul pathdef'm&
1estabilirea setrilor implicite&
Directorul curent
MATLAB!ul menine un director curent pentru lucrul cu fiiere de tip &m i &mat&
5e platformele Iindo0s, directorul curent iniial este specificat n s.ortcut!ul utilizat pentru
pornirea MATLAB!ului&
5entru sc.imbarea setrilor implicite se poate face clicH cu butonul din dreapta al mouse!ului i
se selecteaz meniul Pro+ert#es&

5esch#)erea ,#:#ere(or ?n MATLAB
/e pot desc.ide fiiere n funcie de e%tensiile lor prin folosirea funciei open@ care este o
funcie e%tensibil de ctre utilizator& /e pot include i alte tipuri de fiiere n afara fiierelor
MATLAB standard'
N'$e Ac-#'ne
-igure file "1'fig$ (esc.ide o figur ntr!o fereastr tip figur&
M!file "name'm< (esc.ide fiierul name de tip &m n <ditor&
Model "name'mdl$ (esc.ide modelul name n /imulinH&
5!file "name'p$ (esc.ide fiierul corespunztor name'm, dac e%ist, n <ditor&
B8
Dariable (esc.ide tabloul name n Arra# <ditor "tabloul trebuie s fie
numeric$X open apeleaz open>ar&
Alte e%tensii
"name'custom$
(esc.ide name'custom prin apelarea funciei .elper opencustom,
unde opencustom este o funcie definit de utilizator&
9.9. 4ereastra /ra,#c> 0,#/'re1
MATLAB!ul direcioneaz ieirile grafice spre o fereastr distinct de fereastra de
comand& Aceast fereastr grafic este denumit )igur# ")igure$&
-unciile grafice creeaz n mod automat o nou fereastr grafic dac nu e%ist una
curent& (ac e%ist o astfel de fereastr, MATLAB!ul o a utiliza&
(ac e%ist mai multe ferestre de tip figur, atunci una dintre ele este asignat ca fiind
fereastra curent "n general este ultima fereastr figur utilizat$&
-uncia figure genereaz ferestre grafice& (e e%emplu,
figure
genereaz o nou fereastr i o face fereastra curent&
4 funcie grafic, cum ar fi funcia plot, genereaz un grafic n fereastra de tip figur& (e
e%emplu,
t " #Mpi2(##M21piP
y " sin;t<P
plot;t@y<
traseaz graficul funciei sinus de la E la B n fereastra curent de tip figur, dac aceasta e%ist,
iar dac nu ntr!una nou creat&
'relucrarea gra"icelor cu 'lot 7ditor
(up generarea unui grafic "plot$, se pot face sc.imbri i prelucrri ale graficului cu interfaa
grafic P(ot E)#tor& -igura urmtoare ilustreaz principalele faciliti ale ferestrei grafice i ale
interfeei P(ot E)#tor&
B3
5entru salarea unei figuri se selecteaz a8e din meniul 4#(e& 5entru salarea ntr!un format
diferit, cum ar fi T+--, necesar utilizrii n alte aplicaii se selecteaz E2+ort din meniul 4#(e.
C&G& I$+ort'( :# e2+ort'( )e )ate
/unt multe posibiliti de a realiza importul i e%portul de date ntre MATLAB i alte aplicaii&
Kn majoritatea cazurilor se pot utiliza facilitile MATLAB de a citi sau scrie fiiere "pentru aplicaii
complicate trebuie scrise programe n 7 sau -ortran$&
I$+ort'( )e )ate
Kn tabelul urmtor sunt prezentate c:tea metode de import date'
Meto)a CCn) tre%'#e 't#(#Dat> $eto)a. Mo) )e 't#(#Dare
+ntroducerea unei
liste e%plicite de
elemente
Atunci c:nd cantitatea de date este mic& /e tasteaz pur i simplu datele
utiliz:nd parantezele drepte "V W$&
7rearea de date ntr!
un fiier &m
/e utilizeaz un editor de te%t pentru generarea unui fiier &m&
Metoda este util atunci c:nd datele nu sunt deja n form digital& <ste
ntr!un fel similar cu prima metod&
Kncrcarea datelor
dintr!un fiier A/7++
-iierele A/7++ stoc.eaz datele pe linii cu un numr egal de elemente
spaiate prin blanc!uri, linii nc.eiate cu <nter& Aceste fiiere se pot edita
cu un editor de te%te obinuit& (atele sunt introduse n MATLAB cu
funcia load& /e poate utiliza dlmread dac este necesar specificarea
altor delimitatori&
7itirea datelor cu
fopen, fread i cu
funciile de
intrare2ieire
Metoda este folosit c:nd se ncarc date de la alte aplicaii, date care au
propriul lor format&
-uncii specializate
de citire a fiierelor
Dlmread
7itete fiiere de date A/7++&
Te:tread
7itete date de tip caracter sau numerice dintr!un fiier i
le conertete n ariabile MATLAB&
]F(read
7itete fiiere de tip "]S($ "tip foaie de lucru$
Imread
7itete din fiiere grafice&
/uread
7itete fiiere de sunet tip "'au$&
]a>read
7itete fiiere de sunet Microsoft IAD< "'Ga>$&
7rearea de fiiere tip
M<J pentru citirea
datelor
<ste metoda potriit dac sunt deja disponibile rutine 7 sau -ortran
pentru citirea datelor din alte aplicaii&
(ezoltarea unor
programe n -ortran
sau 7
/e utilizeaz n cazuri comple%e pentru translatarea unor date n format
&mat i apoi ncrcarea cu comanda load&
E2+ort'( )ate(or
Kn tabelul urmtor sunt prezentate c:tea metode de e%port date'
Meto)a CCn) tre%'#e 't#(#Dat> $eto)a. Mo) )e 't#(#Dare
BL
-olosirea comenzii
diary
5entru tablouri de date de mic dimensiune se folosete comanda diary
pentru crearea unui fiier de tip jurnal i afiarea ariabilelor& +eirea diary
include comenzile MATLAB folosite ntr!o sesiune de lucru&
/alarea datelor n
format A/7++
/e utilizeaz comanda sa>e cu opiunea %ascii& /e poate folosi
dlmGrite dac este necesar specificarea altor delimitatori&
/crierea datelor n
formate speciale
/e folosesc fGrite i alte funcii +24 de niel sczut& <ste util la scrierea
datelor n formate cerute de alte aplicaii&
-uncii specializate
de scriere a
fiierelor
DlmGrite
/crie fiiere n format A/7++&
GF(Grite
/crie fiiere tip "]S($&
ImGrite
/crie imagini pentru fiiere grafice&
/uGrite
/crie fiiere de sunet tip "'au$&
]a>Grite
/crie fiiere de sunet tip Microsoft IAD< "'Ga>$&
7rearea unor fiiere
tip M<J pentru
scrierea datelor
<ste metoda potriit dac sunt deja disponibile rutine 7 sau -ortran pentru
scrierea datelor n formate cerute de alte aplicaii&
/crierea datelor n
fiiere tip &MAT
/e folosete comanda sa>e i apoi se scrie un program n -ortran sau 7
pentru translatarea fiierului &mat n formatul dorit&
4#:#ere )e t#+ te2t c' )e(#$#tator#
-unciile dlmread i dlmGrite amintite mai sus permit citirea i scrierea unor alori
separate prin delimitatori nt!un fiier de date A/7++& *n delimitator este orice caracter care separ
alorile&
<%emplu' considerm un fiier fiE'dat ale crui componente sunt separate prin punct i
irgul'
*'2P+',P)'2P)')
,'-P&'2P+'(P*'2
7itirea i transcrierea componentelor ntr!un tablou "matrice$ / se face astfel'
/ " dlmread;9fiE'dat9@ 9P9<P
Kn mod similar se folosete dlmGrite pentru scrierea unui te%t cu delimitatori ntr!un fiier
e%tern'
/ "
( 2 3
- , )
dlmGrite;9myfile9@/@9P9<
myfile a conine'
(P2P3
-P,P)
C#t#rea ,#:#ere(or c' ,or$at 'n#,or$
-uncia te:tread citete date de tip caracter sau numerice dintr!un fiier i le transcrie n
ariabile MATLAB folosind specificatorii de conersie care definesc lungimea c:mpului de date i
formatul acestora& -uncia te:tread este util pentru fiiere cu format uniform i cunoscut "de
e%emplu cu delimitatori de tip irgul sau tab$&
<%emplu' fie fiierul mydata'dat '
Sally Type( (2'3- -, Jes
B;
5entru citirea fiierului mydata'dat ca fiier cu format liber se folosete formatul de conersie
UM
Vnames@types@:@y@ansGerW"te:tread;9mydata'dat9@9Us Us Uf Ud Us9@(<
unde Us citete un ir de caractere separat prin spaii albe, Uf citete o aloare tip floating point, i
Ud citete un ntreg cu semn&
MATLAB a rspunde'
names "
9Sally9
types "
9Type(9
: "
(2'3-############
y "
-,
ansGer "
9Jes9
ch#$%area )e )ate ?ntre +(at,or$e 0s#ste$e )e o+erare1
Kn unele situaii este necesar transferul de date i programe ntre utilizatori care lucreaz cu
sisteme de operare diferite& Aplicaiile MATLAB constau n fiiere &m cu funcii i script!uri i
fiiere tip &mat cu date binare& Ambele tipuri de fiiere pot fi transportate direct ntre diferite
computere'
-iierele &m conin te%t simplu i sunt independente de @mainA&
-iierele &mat sunt binare i dependente de @mainA dar pot fi transportate ntre computere
deoarece conin semntura de @mainA n antetul fiierului&
5entru utilizarea i transportul aplicaiilor MATLAB pe dierse computere "sisteme de operare$
trebuie s ne asigurm c fiierele &mat se transmit n binary )ile mode i fiierele &m n -&.// )ile
mode&
Co$an)a )#arA
7omanda diary genereaz o copie a sesiunii de lucru MATLAB ntr!un fiier disc
"fr grafice$& /e poate izauliza i edita te%tul rezultat cu orice procesor de te%te&
(e e%emplu, pentru crearea unui fiier cu numele octom?2)'out care conine
comenzile i ieirile "rspunsurile$ MATLAB corespunztoare, trebuie tastat'
diary octom?2)'out
5entru oprirea nregistrrii sesiunii se folosete'
diary off
9.=. !t#(#Darea $e$or#e#
MATLAB!ul necesit o zon continu de memorie pentru stocarea datelor din fiecare
matrice&
(e asemenea, imaginile i filmele "animaia$ cer o mare cantitate de memorie&
Kn plus, .arta de pi%eli "pi%map$ folosit pentru imagini cere o cantitate de memorie
proporional cu suprafaa imaginii de pe ecran& 4 imagine color de 8EE%8EE pi%eli cere 6 Mb
de memorie& 5entru limitarea memoriei necesare trebuie limitat dimensiunea imaginilor de pe
ecran&
BM
8ezolvarea erorilor de memorie
(ac nu e%ist memorie suficient, n cazul unor matrici de dimensiuni mari este posibil
apariia unei erori de memorie de tip @out of memor#A& /e poate ncerca o defragmentare a
memoriei cu comanda pacF&
(ac astfel de erori @out of memor#A sunt dese se pot ncerca i alte metode'
Kn cazul sistemelor Iindo0s se crete memoria irtual folosind Aste$ Pro+ert#es pentru
Per,or$ance, instrument accesibil din Contro( Pane(&
5entru sisteme *,+J trebuie cerut administratorului de sistem s creasc spaiul s0ap&
Administrarea memoriei MATLAB
MATLAB!ul utilizeaz funciile 7 standard malloc i free pentru alocarea
memoriei dinamice& Aceste rutine menin de regul o rat relati lent de utilizare a memoriei
alocat de sistemul de operare& 5entru MATLAB, malloc i free aloc memoria ntr!un ritm
mai rapid& 5e msur ce MATLAB!ul nu mai are neoie de memorie, malloc i free nu
returneaz memoria adiional sistemului de operare "rutinele presupun c dac a fost neoie de
o cantitate mare de memorie o dat, atunci este posibil s mai fie neoie nc o dat$&
(in acest moti este posibil ca alte aplicaii care ruleaz s nu poat dispune de
memorie, c.iar dac MATLAB!ul nu mai are neoie& 5entru a diponibiliza cantitatea de
memorie trebuie terminat sesiunea MATLAB&
;. E5IT6R!LE5EB!GGER.!L FI PR64ILER.!L MATLAB
;.1. E)#tor'(E5e%'//er.'( MATLAB
MATLAB!ul dispune de un editor propriu, editor care este asociat i cu un program de
depanare "debugger$& <ditorul2debugger!ul ofer posibilitatea de a efectua operaiunile de editare de
baz precum i accesul la instrumente de depanare a fiierelor &m &
5ac.etul <ditor2(ebugger ofer i o interfa grafic uor de utilizat& 5entru lansarea editorului
se tasteaz la prompterul MATLAB comanda edit& /e pot folosi i butoanele2meniurile accesibile din
fereastra de comand&
CE
etarea #$+(#c#t> a E)#tor'('#
-acilitile de editare i depanare sunt setate s fie actie n mod implicit atunci c:nd
MATLAB!ul este instalat&
(ac se dorete instalarea altui editor sau nu se dorete apelarea la depanarea n regim grafic se
pot dezactia aceste faciliti prin setarea corespunztoare& (e e%emplu "n *,+J$ se modific
Zhome2'Hdefaults file'
matla?1?uiltInEditorM =ff
matla?1graphicalDe?uggerM =ff
Trebuie rulat
:rd? %merge Zhome2'Hdefaults
nainte de pornirea MATLAB!ului&
5e%'//er.'( MATLAB. E2e$+(e )e )e+anare a ,#:#ere(or MATLAB
(ebugger!ul permite identificarea erorilor de programare& 5rin folosirea debugger!ului se
poate izualiza coninutul 0orHspace!ului n orice moment n timpul e%ecuiei unei funcii i se
poate e%ecuta programul "codul$ MATLAB linie cu linie&
5entru folosirea acestui instrument de depanare se poate utiliza interfaa grafic a debugger!
ului sau se pot folosi linii de comand&
(epanarea permite corectarea a dou tipuri de erori'
<rori de sinta%, cum ar fi scrierea incorect a numelui unei funcii sau omiterea unor
paranteze& MATLAB!ul detecteaz majoritatea acestor erori i afieaz un mesaj de eroare
care descrie natura erorii i numrul liniei din programul &m n care a aprut eroarea
respecti&
<rori de rulare "de calcul$, care sunt mai mult de natur algoritmic& (e e%emplu este posibil
s modificm o alt ariabil dec:t trebuie sau s efectum un calcul incorect& Aceste erori
sunt obserate atunci c:nd fiierul rulat furnizeaz rezultate necorespunztoare&
Kn timp ce erorile de sinta% se corecteaz realti uor pe baza mesajelor de eroare, erorile de
rulare sunt mai greu de depanat& /e pot utiliza n acest caz mai multe te.nici de depanare'
/e ndeprteaz delimitatorii de tip punct i irgul de la sf:ritul liniilor program& Astfel la
rularea programului or fi afiate i rezultatele intermediare corespunztoare fiecrei linii&
/e adaug comanda Fey?oard n fiierele &m care sunt depanate& Aceast comand oprete
e%ecuia programului respecti, d controlul la tastatur i d posibilitatea e%aminrii i
sc.imbrii unor funcii sau ariabile& Acest mod de lucru este indicat printr!un prompter
special' YSOO&Y 5entru a continua e%ecuia, se tasteaz return i se apas apoi tasta
Ret'rn&
/e folosete (ebugger!ul MATLAB&
(ebugger!ul este util deoarece permite accesul la funciile din 0orHspace, e%aminarea i
eentual modificarea coninutului acestora&
(ebugger!ul permite setarea sau tergerea unor puncte de oprire' breakpoints, care sunt linii
speciale n programul MATLAB la nt:lnirea crora e%ecuia se oprete i sunt posibile operaii de
sc.imbare i de e%ecuie a liniilor de comand una c:te una&
E2e$+(' )e )e+anare
5entru a ilustra procedurile de depanare disponibile "ndeosebi pentru cazul erorilor de rulare$
om folosi un e%emplu preluat din '-(0-B 1ser +uide& Dom scrie un fiier denumit
>ariance'm care este o funcie a:nd ca intrare un ector i ca ieire un scalar& -iierul apeleaz
la o alt funcie, numit sAsum, care calculeaz o sum medie ptratic a ectorului de intrare&
function y " >ariance;:<
mu " sum;:<2length;:<P
C6
tot " sAsum;:@mu<P
y " tot2;length;:<%(<P
Kn fiierul sAsum'm se strecoar intenionat o eroare&
function tot " sAsum;:@mu<
tot " #P
for i " (Mlength;mu<
tot " tot . ;;:;i<%mu<'72<P
end
5entru erificarea corectitudinii calculelor, folosim funcia MATLAB std "calculeaz deiaia
standard$ care permite efectuarea unui calcul ec.ialent&
/e introduce mai nt:i un ector de intrare de test'
> " V( 2 3 - ,WP
apoi se utilizeaz funcia std'
>ar( " std;><'72
>ar( "
2',###
Kncercm funcia >ariance care apeleaz funcia sAsum "scris eronat$'
my>ar( " >ariance;><
my>ar( "
(
1spunsul este greit& Dom ncerca cu debugger!ul s gsim i s corectm greeala&
Depanarea cu ajutorul inter"e#ei gra"ice a Debugger$ului
-. 2entru startarea procedurii de depanare'
(ac fiierul &m "adic >ariance'm$ a fost creat cu editorul MATLAB i suntem n
fereastra E)#torE5e%'//er, se continu din acest punct&
(ac fiierul a fost creat cu un editor e%tern, se starteaz <ditor2(ebugger!ul i apoi se face
clicH pe butonul 6+en M.,#(e din toolbar&
Toolbar!ul <ditor2(ebugger conine o serie butoane descrise n continuare'
Too(%ar
co+ 5escr#ere
Co$an)>
Ech#8a(ent>
/eteaz2
Sterge
BreaHpoint
/eteaz sau terge un breaHpoint pe linia pe care este
poziionat cursorul&
D?stop2
D?clear
Sterge toate
BreaHpoint!
urile
Sterge toate breaHpoint!urile care sunt setate n mod
curent&
D?clear
all
/tep +n
"5as n$
<%ecut linia curent a fiierului &m i dac linia este
o apelare la alt funcie sare "face un pas$ n funcia
respecti&
D?step in
/ingle /tep
"*n singur
pas$
<%ecut linia curent a fiierului &m &
D?step
7ontinu
7ontinu e%ecuia fiierului p:n la terminare sau
p:n la alt breaHpoint&
D?cont
/f:rit
depanare
+eirea din starea de depanare& d?Auit
CB
5rin apsarea butonului din dreapta al mouse!ului n fereastra editorului se poate obine un
meniu cu toate aceste opiuni&
B. &etarea Breakpoint-urilor
5unctele de oprire "breaHpoint!uri$ determin oprirea e%ecuiei fiierului la linia specificat i
permit ealuarea i sc.imbarea ariabilelor din 0orHspace nainte de reluarea e%ecuiei& BreaHpoint!
ul este indicat printr!un semn rou de stop "

$ nainte de linia respecti&


5entru e%emplul considerat, la nceputul depanrii nu se tie unde ar putea fi eroarea, ns un loc
logic de amplasare a unui breaHpoint pentru a face erificri este n linia G a funciei
>ariance'mM
y " tot2;length;:<%(<P
5entru setarea breaHpointului se poziioneaz cursorul pe linia G i se face clicH pe butonul din
toolbar sau se alege et Break+o#nt din meniul 5e%'/.
.. 3xaminarea variabilelor
5entru erificarea ariabilelor, se e%ecut mai nt:i funcia din fereastra de comand'
>ariance;><
Atunci c:nd e%ecuia programului ajunge la breaHpoint, o sgeat galben orizontal " $ arat
urmtoarea linie care a fi e%ecutat& (ac sgeata galben este ertical " $ atunci aceasta indic
o pauz la sf:ritul unui script sau a unei funcii i permite e%aminarea ariabilelor nainte de
rentoarcerea la funcia principal&
Acum putem erifica alorile ariabilelor mu i tot& /e selecteaz te%tul care conine
ariabilele i se face clicH din butonul drept al mouse!ului dup care se alege din meniu E8a('ate
e(ect#on&
Kn fereastra de comand a fi afiat at:t te%tul selectat c:t i rezultatul'
SOO mu
mu "
3
SOO tot
tot "
-
(in analiza acestor alori se obser c eroarea se afl n sAsum&
4. &chimbarea contextului spa"iului de lucru
/e poate folosi meniul tack pentru sc.imbarea conte%tului spaiului de lucru, adic pentru
ieirea din funcia >ariance i izualizarea coninutului 0orHspace!ului, prin selectarea din meniu
a opiunii Base Works+ace<
CC
5rin utilizarea comenzii Ghos sau a Bro0serului IorHspace se or izualiza ariabilele > i
my>ar(, ca de altfel i celelalte ariabile create& 5entru ntoarcerea la conte%tul spaiului de lucru
local al funciei >ariance se selecteaz Gar#ance din meniu&
3. 3xecutarea pas cu pas a programului 5i continuarea execu"iei
/e terge breaHpoint!ul din linia G din >ariance'm prin plasarea cursorului pe linie i selectarea
opiunii C(ear Break+o#nt din meniul 5e%'/. /e continu e%ecuia programului cu Cont#n'e din
meniul 5e%'/.
/e desc.ide sAsum'm i se seteaz un breaHpoint la linia G pentru erificarea buclei i a
calculelor& /e ruleaz din nou >ariance' <%ecuia se a opri acum la linia G din sAsum&
/e poate acum ealua indicele buclei iM
SOO i
i "
(
dup care prin selectarea opiunii #n/(e te+ din meniul 5e%'/ se e%ecut linia urmtoare& /e
ealueaz ariabila totM
SOO tot
tot "
-
/e selecteaz din nou #n/(e te+<
for i " (Mlength;mu<
/e obser c bucla este iterat numai p:n la lungimea lui mu, care este scalar, i nu p:n la
lungimea lui :, ectorul de intrare "aceasta este de fapt greeala$&
4 dat eroarea gsit se selecteaz H'#t 5e%'//#n/ i se termin e%ecuia programului& /e
terge breaHpoint din sAsum i se pune un breaHpoint la linia G din >ariance'm@ dup care rulm
din nou'
>ariance;><
CG
La oprirea e%ecuiei se seteaz aloarea lui tot la aloarea corect "6E$'
SOO tot " (#
tot "
(#
/electm Cont#n'e E2ec't#on i obinem rezultzatul corect&
6. (erminarea sesiunii de depanare
/e selecteaz E2#t E)#torE5e%'//er din meniul 4#(e i se termin sesiunea de depanare&
5entru corectarea definiti a erorii se folosete editorul i se ruleaz din nou programul pentru
o ultim erificare&
Depanarea din linia de comand0
-olosirea facilitilor de depanare se poate realiza i direct din linia de comand, prin
intermediul unui set de comenzi& Aceste comenzi sunt prezentate n forma lor general n tabelul
urmtor&
5escr#ere
#nta2>
/etarea unui breaHpoint& d?stop at lineTnum in
fileTname
Stergerea unui breaHpoint&
d?clear at lineTnum in
fileTname
/top la atenionare, eroare sau generarea de ,a,2+nf&
dstop if Garning
error
naninf
infnan
1eluarea e%ecuiei& D?cont
Listarea apelrii de funcii& D?stacF
Listarea tuturor breaHpoint!urilor& d?status fileTname
<%ecutarea a una sau mai multe linii& d?step nlines
Listarea fiierelor M!file cu liniile numerotate'
d?type fileTname
/c.imbarea conte%tului spaiului de lucru local "do0n$& d?doGn
/c.imbarea conte%tului spaiului de lucru local "up$&
d?up
5rsirea modului de depanare& d?Auit
5entru informaii suplimentare priind utilizarea acestor funcii se poate apela la comanda
help urmat de numele comenzii respectie&
<%emplul de depanare a unui fiier cu erori prezentat anterior poate fi reluat, utiliz:ndu!se n
locul interfeei grafice a debugger!ului comenzi corespunztoare n linia de comand&
;.3. Pro,#(er.'( MATLAB
5entru mbuntirea performanelor fiierelor MATLAB se utilizeaz un instrument
MATLAB numit 5rofiler& Acest instrument furnizeaz informaii utile priitoare la timpul
alocat calculelor efectuate de fiecare linie program&
7u ajutorul 5rofiler!ului se msoar modul n care programul consum timp, i o msur
este eident mai bun dec:t g.icitul rutinelor sau funciilor care consum mult timp de
calcul&
C8
5rogramarea eficient presupune folosirea 5rofiler!ului pentru determinarea
@strangulrilorA din programul creat i apoi modificarea programului pentru optimizarea
timpului de calcul&
5rogramele MATLAB au n general o structur multistrat generat de faptul c funciile
utilizate apeleaz deseori alte funcii i aa mai departe& (e aceea este important s fie
identificate acele funcii consumatoare de timp i nlocuite dac este posibil&
5rofiler!ul permite'
<itarea calculelor inutile&
/c.imbarea algoritmilor pentru eitarea folosirii unor funcii consumatoare de timp&
<itarea recalculrilor prin stocarea unor rezultate ce pot fi utilizate ulterior&
Co$an)a profile
5entru a crea un profil al programului "fiierului$ MATLAB se folosete comanda profile
pentru a genera i izualiza statisticile despre programul respecti& Kn tabelul urmtor sunt prezentate formele posibile
ale acestei comenzi&

#nta2> 6+-#'n# 5escr#ere
Profile on
/tarteaz profiler!ul i terge statisticile nregistrate anterior&
%detail
le>el
/pecific nielul funciei analizate&
%history
/pecific secena e%act a apelurilor fcute de funcia care a fi
nregistrat&
Profile
report
/uspend actiitatea profilerului dup care genereaz un raport n
format 9TML pe care l afieaz n bro0serul Ieb&
Qasename
/aleaz raportul n fiierul ?asename din directorul curent&
Profile
plot
/uspend actiitatea profiler!ului dup care afieaz un grafic n
fereastra figur cu funciile care consum majoritatea timpului de
e%ecuie&
Profile
resume
1estarteaz profiler!ul fr a terge statisticile nregistrate anterior&
Profile
clear
Sterge statisticile nregistrate&
Profile off
Termin actiitatea profiler!ului&
Profile
status
Afieaz o structur care conine starea curent a profiler!ului&
stats "
profile;9in
fo9<
/uspend profiler!ul i afieaz o structur cu rezultatele actiitii
de analiz&
E2e$+(' )e 't#(#Dare a Pro,#(er.'('#
6& /e starteaz profiler!ul'
profile on %detail ?uiltin %history
4piunea %detail ?uiltin determin profilerul s ntocmeasc statistici i pentru funciile
built!in&
B& /e e%ecut un fiier &m & Kn e%emplu este preluat programul care ruleaz modelul LotHa!
Dolterra pentru populaii tip prdtor!prad "lotFademo pentru demo$&
Vt@yW " ode23;9lotFa9@V# 2W@V2#P2#W<P
C& /e genereaz un raport i se saleaz rezultatele n fiierul lotFaprof&
C3
profile report lotFaprof
G& /e restarteaz profiler!ul fr tergerea statisticilor e%istente&
profile resume
8& /e oprete profiler!ul&
profile off
)izualizarea rezultatelor
-. Rapoarte
5entru afiarea unui raport cu rezultatele statistice obinute se tasteaz
profile report
1aportul care rezult apare n fereastra bro0serului Ieb i ncepe cu un rezumat al raportului din
care se pot accesa un raport detaliat i un raport al apelrilor de funcii "o cronic$&
Ra+ort'( reD'$at. Kn figura urmtoare este prezentat raporul rezumat pentru e%emplul LotHa!
Dolterra&
Ra+ort'( )eta(#at. Acest raport furnizeaz detalii despre funciile de tip @printeA i @copilA ale
unei funcii& <ste prezentat raportul detaliat pentru funcia lotFa din e%emplul considerat&
Ra+ort'( a+e(>r#(or )e ,'nc-##. Acest raport afieaz secena e%act a funciilor apelate& 5entru a
izualiza acest raport, trebuie startat profiler!ul cu opiunea %history&
profile on %history
<ste prezentat un e%emplu de astfel de raport&
CL
B. Reprezentarea gra)ic# a rezultatelor 2ro)iler-ului
5entru a obine o reprezentare grafic trebuie s tastm'
profile plot
Kn fereastra grafic a apare un grafic de forma din figura urmtoare'
C;
=. MATRICI, ALGEBR LINIAR, P6LIN6AME, TE*NICI 5E INTERP6LARE
=.1. Matr#c#(e ?n MATLAB
5rin matrice nelegem un tablou bi!dimensional de numere reale sau comple%e& Kn
capitolul de -undamente ale programrii n MATLAB a fost prezentat modul de introducere a
matricilor i au fost analizate c:tea operaii simple cu matrici&
MATLAB!ul lucreaz direct cu multe operaii matriceale' aritmetica matricilor, ecuaii
liniare, alori proprii, factorizri etc&
-unciile de algebr liniar sunt localizate n directorul matfun& Kn continuare sunt
prezentate c:tea din funciile care lucreaz cu matrici&
Cate/or#a 4'nc-#a 5escr#ere
Analiza matriceal
norm
,orma unei matrice sau a unui ector&
normest
<stimeaz norma!B a matricei&
ranF
1angul matricei&
det
(eterminant&
trace
/uma elementelor de pe diagonal&
null
/paiul ,ul&
orth
4rtogonalizare&
su?space
*ng.iul dintre B subspaii&
<cuaii liniare
5 \i 2
*tilizate la calculul soluiilor ecuaiilor liniare&
in>
+nersa matricei&
cond
,umrul de condiie pentru inersare&
CM
chol
-actorizarea 7.olesH#&
lu
-actorizarea L*&
Ar
(ecompoziia ortogonal!triung.iular&
pin>
5seudoinersa&
lsco>
7ele mai mici ptrate cu coarian cunoscut&
Dalori proprii i
alori singulare
eig
Dalori proprii i ectori proprii&
s>d
(ecompoziia n alori singulare&
poly
5olinomul caracteristic&
hess
-orma 9essenberg&
AE
-actorizarea Z[&
schur
(ecompoziia /c.ur&
-uncii de matrice
e:pm
<%poneniala de matrice&
logm
Logaritmul de matrice&
sArtm
1dcina ptrat de matrice&
funm
<aluarea unei funcii generale de matrice&
4peraiunile elementare cu matrici au fost deja prezentate "adunarea matricilor, nmulirea
acestora, transpusa unei matrice, funciile sum, diag etc&$&
Kn continuare sunt prezentate c:tea matrici speciale utile n toate tipurile de
reprezentri matematice'
- 'atricea identitate 7unitate8
<ste o matrice cu elementele de pe diagonala principal egale cu 6 iar restul elementelor sunt
nule& ,otaia matematic / proine de la denumirea matricii i nu este folosit n MATLAB,
pentru eitarea unor confuzii& /e utilizeaz sinta%a'
eye;m@n<
Aceast funcie returneaz o matrice identitate m%n. (ac se folosete'
eye;n<
atunci este orba de o matrice identitate ptratic n%n&
- 'atricea ones
<ste o matrice care are toate elementele egale cu 6& -orme posibile'
ones;n< este o matrice n%n cu elemente de 6
ones;m@n< sau ones;Vm@nW< sunt matrici m%n cu elemente de 6&
ones;siEe;/<< are aceeai dimensiune cu o matrice A i are elemente de 6
- 'atricea zeros
<ste o matrice care are toate elementele egale cu E& -orme posibile'
Eeros;n< este o matrice n%n de zerouri
Eeros;m@n< sau Eeros;Vm@nW< sunt matrici m%n de E
Eeros;siEe;/<<are aceeai dimensiune cu o matrice A i are elemente de E
=.3. ReDo(8area ec'a-##(or (#n#are
GE
*na din cele mai importante probleme ale calculului din domeniul te.nic este soluionarea
sistemelor de ecuaii liniare&
(efinirea problemei este pe scurt urmtoarea'
(ac se dau dou matrici - i B, e%ist o matrice unic 9 astfel nc:t
-9 : B sau 9- : B P
MATLAB utilizeaz notaia din cazul scalar i pentru descrierea soluiei unui sistem de ecuaii
liniare& 7ele dou simboluri utilizate n cazul scalar al diiziunii "mpririi$ i anume slash, 2, i
backslash, \, sunt folosite pentru definirea soluiei'
H " /5Q este soluia ecuaiei matriceale -9 : B&
H " Q2/ este soluia ecuaiei matriceale 9- : B&
Kn practic, ecuaiile liniare de forma -9 : B sunt mai des nt:lnite&
(eoarece matricea -, care conine de fapt coeficienii sistemului, poate s nu fie ptratic ci de
tipul general m%n, e%ist trei cazuri posibile'
m : n& /istem ptratic& /e poate cuta o soluie e%act&
m ; n& /istem supradeterminat "incompatibil$& /e caut o soluie de tip cele
mai mici ptrate&
m < n& /istem nedeterminat& /e poate cuta o soluie cu cel mult m componente
nenule&
Kn multe cazuri MATLAB!ul d un diagnostic "o soluie$ automat prin e%aminarea
coeficienilor matricelor& 7:tea din aceste cazuri'
5ermutarea matricilor triung.iulare
Matrici simetrice, poziti definite
Matrici ptratice nesingulare
/isteme rectangulare supradeterminate
/isteme rectangulare nedeterminate
#ste$e +>trat#ce
7el mai simplu caz este cel corespunztor unei matrice ptratice / i a unui ector coloan ?&
/oluia : " /5? are aceeai dimensiune ca b&
(ac / i Q sunt ptratice de aceleai dimensiuni atunci soluia H " /5Q are aceeai
dimensiune ca - sau B&
%bserva"ie, (ac matricea - este singular "determinant nul$ atunci soluia ecuaiei -9 : B nu
e%ist sau nu este unic&
#ste$e s'+ra)eter$#nate 0#nco$+at#%#(e1
Aceste tipuri de sisteme sunt des nt:lnite n dierse situaii, cum ar fi de e%emplu apro%imarea
unor curbe din date e%perimentale&
#ste$e ne)eter$#nate
/istemele liniare nedeterminate au mai multe necunoscute dec:t ecuaii& (ac e%ist i
constr:ngeri "restricii$ suplimentare, atunci este orba de o problem de programare liniar&
4peratorul backslash din MATLAB permite cutarea soluiei n cazul fr restricii& /oluia nu
este niciodat unic& MATLAB!ul gsete o soluie de baz "care are cel mult m componente
nenule$& )sirea soluiei particulare se bazeaz pe factorizarea Z1 "decompoziia ortogonal!
triung.iular$&
G6
Dom prezenta un e%emplu "care utilizeaz funcia matriceal random = rand$&
8 " fi:;(#1rand;2@-<<
8 "
) + * 3
3 , - (
? " fi:;(#1rand;2@(<<
? "
(
2
/istemul liniar Rx : b implic dou ecuaii cu G necunoscute& /oluia se poate afia n format
raional "coeficienii sunt numere ntregi$& /oluia particular se obine astfel'
format rat
p " 85?
p "
#
,2*
#
%((2*
/oluia complet a sistemului nedeterminat se obine prin adugarea unui ector arbitrar din
spaiul nul folosind funcia nullM
I " null;8@9r9<
I "
%(22 %*2)
%(22 (22
( #
# (
4rice ector de forma :"p.I1A pentru ] ector arbitrar satisface 81:"?&
=.9. In8erse :# )eter$#nan-#
(ac matricea - este ptratic i nesingular, ecuaiile -9 : / i 9- : / au aceeai soluie 9&
Aceast soluie este c.iar inersa lui -, notat matematic prin -
!6
, i poate fi calculat cu funcia
in>&
(eterminantul unei matrice se poate calcula cu funcia det "trebuie acordat atenie
problemelor de scalare i rotunjire care apar n calcule$&
<%emple'
/"V( ( (P( 2 3P( 3 )WP
d " det;/<
d "
(
H " in>;/<
H "
3 %3 (
%3 , %2
( %2 (
Pse')o#n8erse
Matricile dreptung.iulare "rectangulare$ nu au inerse sau determinani& Atunci cel puin una
din ecuaiile -9 : / sau 9- : / nu are soluie& /e poate utiliza n acest caz o pseudoiners care
poate fi calculat cu funcia pin>M
/("V/PV( 3 ,WW
/( "
( ( (
( 2 3
GB
( 3 )
( 3 ,
H"pin>;/(<
H "
(',### %#'#### ('#### %(',###
%#'+333 #')))* %2'#### 2'())*
#'())* %#'3333 ('#### %#'+333
=.;. 4'nc-## )e $atr#ce. Ga(or# +ro+r##
2uteri de matrice
(ac / este o matrice ptratic i p este un numr ntreg poziti, atunci /7p multiplic pe / cu
ea nsi de p ori&
H " /72
H "
3 ) (#
) (- 2,
(# 2, -)
(ac / este ptratic i nesingular, atunci /7;%p< multiplic pe in>;/< cu ea nsi de p
ori&
J"/7;%2<
J "
(&'#### %2)'#### (#'####
%2)'#### 3+'#### %(,'####
(#'#### %(,'#### )'####
1idicarea la putere element cu element se face utiliz:nd operatorul "funcia$ '7& (e e%emplu'
H " /'72
/ "
( ( (
( - &
( & 3)
R#d#cina p#trat# de matrice
-uncia sArtm;/< permite calculul lui /7;(22< printr!un algoritm mai precis dec:t
utilizarea puterii de matrice&
3xponen"iala de matrice
*n sistem de ecuaii difereniale ordinare cu coeficieni constani poate fi scris'
unde x : x7t8 este un ector de funcii de timp i - este o matrice independent de timp&
/oluia sistemului poate fi scris prin intermediul e%ponenialei de matrice
-uncia e:pm;/<permite calculul e%ponenialei de matrice&
Ga(or# +ro+r##
4 aloare proprie i un ector propriu ale unei matrice ptratice - sunt un scalar i un ector
v care satisfac egalitatea
7u alorile proprii pe diagonala unei matrice de tip diagonal i cu ectorii proprii
corespunztori care formeaz coloanele unei matrice ! om aea
GC
(ac ! este nesingular obinem decompoziia "descompunerea$ pe baza alorilor proprii'
<%emplu'
/"V%( %3 (P2 %2 %(P# ( %3W
/ "
%( %3 (
2 %2 %(
# ( %3
lam?da"eig;/<
lam?da "
%('*,&3 . 2'-+-*i
%('*,&3 % 2'-+-*i
%2'-+(-
Lam?da a fi un ector care conine alorile proprii ale matricei&
(ac funcia eig este utilizat cu dou argumente de ieire om obine ectorii proprii i
alorile proprii "acestea sub forma diagonal$'
VL@DW"eig;/<
L "
#'2233 . #')+3,i #'2233 % #')+3,i #'3()#
#')-+( % #'#+)2i #')-+( . #'#+)2i #'-3)+
#'#*), % #'222*i #'#*), . #'222*i #'+-22
D "
%('*,&3 . 2'-+-*i # #
# %('*,&3 % 2'-+-*i #
# # %2'-+(-
%bserva"ie, Toolbo%!ul /#mbolic Mat. e%tinde capacitatea MATLAB!ului prin conectarea la
Maple, care este un sistem de calcul algebric performant& *na din funciile toolbo%!ului permite
calculul formei canonice ^ordan&
VH@CW"$ordan;/<
H "
#'((2( #'---# . #'()&(i #'---# % #'()&(i
#'(,-& %#'#**, . #'-2,#i %#'#**, % #'-2,#i
#'2&+* %#'(-&- . #'#-3-i %#'(-&- % #'#-3-i
C "
%2'-+(- # #
# %('*,&3 % 2'-+-*i #
# # %('*,&3 . 2'-+-*i
-orma canonic ^ordan este un concept teoretic important, dar nu este indicat folosirea n
cazul matricilor mari sau pentru matricile cu elemente afectate de erori de rotunjire sau de alte
incertitudini& MATLAB!ul poate folosi n astfel de cazuri descompunerea /c.ur "funcia schur$&
=.=. Re+reDentarea +o(#noa$e(or. Inter+o(area
Po(#noa$e
MATLAB!ul furnizeaz funcii pentru operaii polinomiale standard cum ar fi calculul
rdcinilor, ealuarea polinoamelor, deriarea etc& 4 parte din aceste operaii precum i modul de
reprezentare a polinoamelor ca ectori au fost descrise n capitolul de -undamente de programare&
-unciile polinomiale se afl n directorul polyfunM
4'nc-#e 5escr#ere
con>
Multiplic polinoamele&
decon>
Kmparte polinoamele&
GG
poly
1eturneaz coeficienii dac se dau
rdcinileX 5olinomul caracteristic&
polyder
7alcul deriatei unui polinom&
polyfit
)sirea coeficienilor unui polinom din
apro%imarea unui set de date&
poly>al
<aluarea unui polinom&
poly>alm
<aluarea unui polinom cu argument
matriceal&
residue
(escompunere n fracii simple&
roots
)sirea rdcinilor unui polinom&
(up cum s!a precizat deja, MATLAB!ul reprezint polinoamele ca ectori linie care
conin coeficienii polinoamelor n ordinea descresctoare a puterilor&
-unciile uzuale care opereaz cu polinoame au fost prezentate "de e%emplu roots$& Kn
continuare sunt parcurse alte c:tea e%emple utile&
-uncia poly returneaz coeficienii unui polinom dac dispunem de rdcinile
acestuia "este o funcie iners fa de roots$'
p"V( %( 2 - (WP
r"roots;p<
r "
('#,2& . ('*2-+i
('#,2& % ('*2-+i
%#'*&&,
%#'3#)3
coef"poly;r<
coef "
('#### %('#### 2'#### -'#### ('####
4 alt utilizare a funciei poly este aceea de calculare a coeficienilor polinomului caracteristic
al unei matrice'
/
/ "
%( %3 (
2 %2 %(
# ( %3
poly;/<
ans "
( ) (+ 23
1dcinile acestui polinom sunt c.iar alorile proprii ale matricii /&
-uncia poly>al ealueaz un polinom pentru o aloare specificat a argumentului&
-uncia poly>alm permite ealuarea unui polinom n sens matriceal& Kn acest caz polinomul p
din e%emplul anterior' p"%$ = %
G
= %
C
F B%
B
F G% F 6 deine p"J$ = J
G
= J
C
F BJ
B
F GJ F +, unde J
este o matrice ptratic i + matricea unitate&
<%emplu'
K"poly>alm;p@/<
K "
%*, %)( +(
,+ %(3# *,
,2 %23 -&
G8
-unciile con> i decon> implementeaz operaiile de nmulire i mprire a
polinoamelor&
<%emple'
-ie a"%$ = %
B
F B% FC i b"%$ = G%
B
F 8% F 3&
a " V( 2 3WP ? " V- , )WP
c " con>;a@?<
c "
- (3 2+ 2* (+
VA@rW " decon>;c@a<
A "
- , )
r "
# # # # #
-uncia polyder permite calculul deriatei unui polinom&
<%emplu'
p"V( %( 2 - (WP
pderi>at"polyder;p<
pderi>at "
- %3 - -
-uncia polyfit gsete coeficienii unui polinom "o curb$ care apro%imeaz un set de
date n sensul algoritmului celor mai mici ptrate'
p " polyfit;:@y@n<
: i y sunt ectorii care conin setul de date iar n este ordinul polinomului ai crui coeficieni or fi
furnizai la apelarea funciei&
<%emplu'
: " V( 2 3 - ,WP y " V,', -3'( (2+ 2&#'* -&+'-WP
p " polyfit;:@y@3<
p "
%#'(&(* 3(',+2( %)#'32)2 3,'3-##
5entru plotarea rezultatului se utilizeaz mai nt:i funcia poly>al pentru o trasare c:t mai
e%act a graficului polinomului i apoi se ploteaz estimarea ersus datele reale pentru comparaii&
:2 " (M'(M,P
y2 " poly>al;p@:2<P
plot;:@y@9o9@:2@y2<
G3
-uncia residue se utilizeaz pentru descompunerea n fracii simple&
/e aplic n cazul raportului a dou polinoame b i a,
unde r este un ector coloan, p tot un ector coloan care conine polii iar k un ector linie cu
termenii direci&
<%emplu'
? " V%- +WP
a " V( ) +WP
Vr@p@FW " residue;?@a<
r "
%(2
+
p "
%-
%2
F "
VW
(ac se folosesc trei argumente de intrare "r, p, i F$, funcia residue asigur conersia
napoi n forma polinomial'
V?2@a2W " residue;r@p@F<
?2 "
%- +
a2 "
( ) +
Inter+o(area
+nterpolarea este un proces de estimare a alorilor dintre date "puncte$ cunoscute& Aplicaiile
interpolrii sunt numeroase n domenii cum ar fi procesarea numeric a semnalelor i imaginilor&
MATLAB!ul dispune de mai multe te.nici de interpolare, alegerea unei metode sau alteia
fc:ndu!se n funcie de acurateea necesar, de iteza de e%ecuie i de gradul de utilizare a
memoriei&
-unciile de interpolare se afl n directorul polyfun&
GL
4'nc-#e 5escr#ere
griddata
+nterpolare pe suprafee&
interp(
+nterpolare monodimensional&
interp2
+nterpolare bi!dimensional&
interp3
+nterpolare tri!dimensional&
interpft
+nterpolare mono utiliz:nd metoda --T&
spline
+nterpolare spline "cubic$&
1ompararea unor metode de interpolare bi$dimensional0
Kn continuare este preluat i prezentat "informati$ un e%emplu de folosire a unor metode de
interpolare bi!dimensional pentru o matrice de date L % L&
6& )enerarea funciei peaFs "cu rezoluie mic$'
V:@yW " meshgrid;%3M(M3<P
E " peaFs;:@y<P
surf;:@y@E<
B& )enerarea unei suprafee mesh fine pentru interpolare'
V:i@yiW " meshgrid;%3M#'2,M3<P
C& +nterpolarea cu metoda celei mai apropiate ecinti'
Ei( " interp2;:@y@E@:i@yi@9nearest9<P
G& +nterpolarea cu metoda biliniar'
Ei2 " interp2;:@y@E@:i@yi@9?ilinear9<P
8& +nterpolarea cu metoda bicubic'
Ei3 " interp2;:@y@E@:i@yi@9?icu?ic9<P
3& 7ompararea graficelor corespunztoare diferitelor metode de interpolare'
G;
L& 7ompararea contururilor suprafeelor n cazul diferitelor metode de interpolare'
/e obser c metoda bicubic produce cele mai netede contururi& 4 metod cum ar fi cea a
celor mai apropiate ecinti este preferat ns n anumite aplicaii, cum ar fi cele medicale unde
nu trebuie generate date noi&
I. REPREZENTAREA 4!NCIIL6R. EC!AII 5I4ERENIALE
I.1. Re+reDentarea :# +(otarea ,'nc-##(or $ate$at#ce
Re+reDentarea ,'nc-##(or $ate$at#ce
-unciile matematice uzuale sunt furnizate de MATLAB ca funcii buit!in "cum ar fi sin@
cos@ log(#@ log@ atan etc&$&
5entru reprezentarea altor funcii matematice se utilizeaz e%primarea n fiiere tip &m &
(e e%emplu, o funcie cum este urmtoarea'
poate fi creat ntr!un fiier MATLAB de tip function i poate fi utilizat ulterior ca intrare n
alte funcii "aa!numitele funcii de funcii = a se edea paragraful B&C$&
-iierul care descrie aceast funcie a mai fost prezentat n paragraful B&C'
function y " humps;:<
y " ('2;;:%#'3<'72.#'#(<.('2;;:%#'&<'72.#'#-<%)P
4 alt posibilitate este crearea la nielul liniei de comand a unui obiect inline prin folosirea
unei e%presii tip ir de caractere'
f"inline;^('2;;:%'3<'72.'#(<.('2;;:%'&<'72.'#-<%)9<P
5entru a ealua aceast funcie f n B&E tastm simplu'
f;2'#<
GM
ans "
%-'+,,2
/lt e:empluM
f " inline;9y1sin;:<.:1cos;y<9@9:9@9y9<
f;pi@21pi<
ans "
3'(-()
P(otarea ,'nc-##(or
5entru reprezentarea grafic a funciilor se poate utiliza funcia fplot' /e pot controla
limitele a%elor de reprezentare grafic&
<%emplu' trasarea graficului funciei humps pentru limitele _%, ,` ale a%ei %'

fplot;9humps9@V%, ,W<
(ac dorim i precizarea limitelor de reprezentare pe a%a # "realizarea unui zoom$ folosim
comanda'

fplot;9humps9@V%, , %(# 2,W<
*n alt e%emplu de folosire direct a funciei fplotM
8E
fplot;921sin;:.3<9@V%( (W<
/e poate realiza i reprezentarea mai multor funcii pe acelai grafic'
fplot;9V21sin;:.3<@ humps;:<W9@V%( (W<
I.3. M#n#$#Darea ,'nc-##(or :# />s#rea Dero'r#(or
MATLAB!ul furnizeaz o serie de funcii de niel nalt care realizeaz sarcini de optimizare a
funciilor& Aceste funcii sunt grupate n principal pe urmtoarele domenii'
Minimizarea funciilor de o ariabil
Minimizarea funciilor de mai multe ariabile
/etarea opiunilor de minimizare
)sirea zerourilor unor funcii
5entru e%emplificare om considera minimizarea unei funcii de o singur ariabil i gsirea
zerourilor pentru aceast funcie&
Minimizarea unei "unc#ii
5entru gsirea unui minim local al unei funcii scrise ntr!un fiier function, se utilizeaz
funcia fmin?nd&
1elum aici e%emplul din paragraful B&C' pentru gsirea minimului funciei humps n interalul
"E&C, 6$ folosim instruciunea'
: " fmin?nd;9humps9@#'3@(<
: "
#')3*#
(ac dorim o afiare detaliat a pailor fcui de prodedura de minimizare se utilizeaz
urmtoarea sinta%'
: " fmin?nd;9humps9@#'3@(@optimset;9Display9@9iter9<<
Func%count : f;:< Procedure
( #',)*3*) (2'&#&+ initial
2 #'*32)2- (3'**-) golden
3 #'-),2-+ 2,'(*(- golden
- #')---() (('2)&3 para?olic
, #')-(3 (('2,+3 para?olic
) #')3*)(+ (('2,2& para?olic
* #')3)&+, (('2,2+ para?olic
+ #')3*#(& (('2,2+ para?olic
86
& #')3*#,2 (('2,2+ para?olic
: "
#')3*#
G0sirea zerourilor
-uncia fEero permite gsirea zerourilor unei funcii "este orba de fapt de o ecuaie cu o
singur necunoscut$&
(ac se d un punct de plecare x
E
pentru procedura de cutare, fEero a cuta un interal n
jurul acestui punct n care funcia sc.imb semnul& (ac un astfel de interal este gsit, fEero
returneaz aloarea pentru care funcia sc.imb semnul "adic zeroul$, iar dac un astfel de
interal nu este gsit returneaz DaD&
Alt ariant permite cutarea ntr!un interal specificat de utilizator&
<%emplu' gsirea unui zerou al funciei humps n apropiere de %#'2M
a " fEero;9humps9@%#'2<
a "
%#'(3()
5entru erificare ealum funcia n punctul !E&6C63 i gsim ntr!ader o aloare foarte
aproape de zero'
humps;a<
ans "
+'++(+e %()
/e poate folosi i arianta cu interal de cutare precizat de utilizator& Kn continuare este
prezentat aceast ariant plus folosirea unor opiuni suplimentare pentru afiarea detaliat a
informaiilor despre procedur i a pailor'
options " optimset;9Display9@9iter9<P
a " fEero;9humps9@V%( (W@options<
Func%count : f;:< Procedure
( %( %,'(3**& initial
2 ( () initial
3 %#',(3+*) %-'#223, interpolation
- #'2-3#)2 *(')3+2 ?isection
, %#'-*3)3, %3'+3*)* interpolation
) %#'((,2+* #'-(---( ?isection
* %#'(,#2(- %#'-23--) interpolation
+ %#'(32,)2 %#'#22)&#* interpolation
& %#'(3())) %#'##((-&2 interpolation
(# %#'(3()(+ ('++3*(e%##* interpolation
(( %#'(3()(+ %2'*&3,e%#(( interpolation
(2 %#'(3()(+ +'++(*+e%#() interpolation
(3 %#'(3()(+ %&'*)&&)e%#(, interpolation
Iero found in the inter>alM V%(@ (W'
a "
%#'(3()
I.9. Inte/rarea n'$er#c>
Aria subgraficului unei funcii 6"x$ poate fi determinat prin integrarea numeric, proces care
se numete ]uadratur "=uadrature8&
5entru rezolarea integrrii numerice n cazul monodimensional e%ist dou funcii MATLAB'
Auad@ care folosete un algoritm de tip /impson
Auad+@ care utilizeaz un algoritm de tip ,e0ton
<%emplu' pentru integrarea funciei humps ntre # i 6 folosim comanda
8B
A " Auad;9humps9@#@(<
A "
2&'+,+3
-unciile Auad sau Auad+ permit i alte argumente de intrare care specific eroarea tolerat
pentru integrare i alte opiuni "a se edea cu help$&
E2e$+(' )e #nte/rare n'$er#c>< ca(c'('( ('n/#$## 'ne# c'r%e
Dom considera o curb dat de ecuaiile'

cu

4 plotare tri!dimensional a acestei curbe poate fi obinut cu
t " #M#'(M31piP
plot3;sin;21t<@cos;t<@t<
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
2
4
6
8
10
Lungimea acestei curbe este dat de formula urmtoare'
5entru calculul lungimii trebuie integrat numeric integrala de mai sus& 5entru aceasta se
creeaz mai nt:i o funcie MATLAB care descrie integrandul pe care o numim fcur?aM
function f " fcur?a;t<
f " sArt;-1cos;21t<'72 . sin;t<'72 . (<P
i apoi se integreaz cu ajutorul funciei AuadM
lungime " Auad;9fcur?a9@#@31pi<
lungime "
('*222e.#(
I.;. ReDo(8area ec'a-##(or )#,eren-#a(e
8C
MATLAB!ul dispune de metode i funcii care pot rezola problema condiiilor iniiale
"7auc.#$ ale sistemelor de ecuaii difereniale ordinare "4(< = 4rdinar# (ifferential <]uations$&
Kn tabelul urmtor sunt prezentate succint c:tea din aceste funcii&
Cate/or#e 4'nc-#e 5escr#ere
-uncii care rezol
4(<
ode-,
1ezol ecuaii difereniale nonstiff, metod de ordin
mediu&
ode23
1ezol ecuaii difereniale nonstiff, metod de ordin
sczut&
ode((3
1ezol ecuaii difereniale nonstiff, metod de ordin
ariabil&
ode(,s
1ezol ecuaii difereniale stiff i ecuaii algebrice
difereniale, metod de ordin ariabil&
ode23s
1ezol ecuaii difereniale stiff, metod de ordin
sczut&
ode23t
<cuaii difereniale stiff i ecuaii algebrice difereniale,
metoda trapezelor&
ode23t?
1ezol ecuaii difereniale stiff, metod de ordin
sczut&
4piuni 4(<
odeset
7reeaz sau sc.imb opiuni de structur ale 4(<&
odeget
5ermite obinerea parametrilor din opiunile 4(<&
-uncii de ieire
4(<
odeplot
5lotarea soluiilor 4(< "n funcie de timp$&
odephas2
Trasarea planului fazelor&
odephas3
Trasarea spaiului fazelor "tri!dimensional$&
odeprint
5ermite tiprirea soluiei 4(< n fereastra de comand&
%bserva"ie, La ecuaiile difereniale ordinare de tip stiff "rigide$ soluiile pot aea ariaii
foarte rapide n timp n raport cu interalul de timp de integrare i este necesar folosirea unor pai
de integrare foarte mici, ceea ce nu mai este indicat la ecuaiile nonstiff&
E2e$+(' )e reDo(8are< ec'a-#a 8an )er Po(
<cuaia an der 5ol este un e%emplu clasic de ecuaie diferenial'

unde a b E este un parametru scalar&
5entru implementarea algoritmului de rezolare este necesar rescrierea ecuaiei de ordinul B ca
un sistem de dou ecuaii difereniale de ordinul 6& 5entru aceasta se introduce ariabila 9
B
care este
deriata n raport cu timpul a ariabilei y
>
& Dom aea
8G
5entru a reprezenta n MATLAB acest sistem de 4(< n scopul gsirii soluiilor, trebuie scris n
primul r:nd un fiier care descrie sistemul "un fiier de tip function$& *n fiier 4(< accept cel
puin dou argumente, t i y&
5entru ecuaia an der 5ol cu a = 6, fiierul este urmtorul "y
6
i y
B
dein y;(< i y;2<$'
function dy " >dp(;t@y<
dy " Vy;2<P ;(%y;(<72<1y;2<%y;(<WP
La pasul urmtor, dup ce sistemul de ecuaii a fost scris, se poate utiliza una din metodele de
rezolare prezentate n tabelul anterior& Trebuie furnizat un interal de timp pentru care se dorete
calculul soluiilor i bineneles condiiile iniiale&
5entru e%emplul an der 5ol, se poate apela la ode45. (ac interalul de timp este V0 20]
iar condiiile iniiale y(1)=2 i y(2)=0 om aea
Vt@yW " ode-,;9>dp(9@V# 2#W@V2P #W<P
+eirea Vt@yW este un ector coloan care conine ectorul timp t i soluia de tip tablou y&
-iecare linie din y corespunde unui element "moment$ din ectorul timp&
5entru trasarea graficului cu soluia se folosete comanda plotM
plot;t@y;M@(<@9%9@t@y;M@2<@9%'9<
title;9Solution of >an der Pol EAuation@ mu " (9<P
:la?el;9time t9<P
yla?el;9solution y9<P
legend;9y(9@9y29<
/e obine urmtorul grafic care conine eoluiile celor dou componente ale soluiei n timp'
(ac se dorete i trasarea planului fazelor se pot folosi liniile de comand'
options"odeset;9=utputFcn9@9odephas29<P
Vt@yW " ode-,;9>dp(9@V# 2#W@V2P #W@options<P
i obinem planul fazelor "este orba de trasarea componentei #"6$ ersus componenta #"B$$'
88
-3 -2 -1 0 1 2 3
-3
-2
-1
0
1
2
3
J. PR6GRAMAREA 7N LIMBAK!L MATLAB
J.1. 4#:#ere MATLAB
-iierele care conin cod MATLAB sunt numite '-)iles sau fiiere &m & (up cum s!a precizat n
capitolul de -undamente ale programrii n MATLAB, aceste fiiere pot fi funcii ")unctions8 care
accept argumente de intrare i furnizeaz ieiri, sau pot fi fiiere script care e%ecut o serie de
instruciuni MATLAB& 5entru ca MATLAB!ul s recunoasc un fiier ca fiier M!file trebuie ca
numele acestuia s se termine cu e%tensia 'm&
-iierul &m poate fi creat cu un editor de te%t i apoi poate fi folosit ca orice funcie sau comand
MATLAB'
6& 7rearea unui fiier cu un
editor de te%t&
B& Apelarea fiierului &m de
la linia de comand sau
din alt fiier &m&
7aracteristicile celor dou tipuri de fiiere sunt prezentate n tabelul urmtor'
4#:#ere cr#+t 4#:#ere 4'nct#on
,u acccept argumente de intrare i nu
returneaz ieiri&
Accept argumente de intrare i returneaz ieiri&
4pereaz cu datele din 0orHspace& Dariabilele interne ale funciei sunt locale "implicit$&
*tile pentru automatizarea unei serii de
pai care trebuie e%ecutai de multe ori&
*tile pentru e%tinderea limbajului
MATLAB pentru dierse aplicaii&
83
cr#+t.'r#
-iierele script sunt cele mai simple fiiere MATLAB, nu au argumente de intrare sau de ieire
i sunt utile pentru e%ecutarea secenial a unor calcule care altfel ar trebui e%ecutate n mod
repetat de la linia de comand& /cript!urile opereaz cu datele din 0orHspace sau pot crea date noi&
Aceste date sunt disponibile dup terminarea e%ecuiei fiierului&
P>r-#(e co$+onente a(e 'n'# ,#:#er )e t#+ ,'nct#on
4 funcie &m are urmtoarele pri componente'
Linia de definire a funciei
Linia de prim .elp 96
Te%tul 9elp!ului
7orpul funciei
7omentarii
Linia de de"inire
Aceast linie informeaz MATLAB!ul c fiierul conine o funcie i specific argumentele&
<%emplu'
Linia H:
Linia 96 este o linie de comentariu care ncepe cu semnul YUY i furnizeaz prima linie te%t
atunci c:nd utilizatorul tasteaz help function_name la prompterul MATLAB&
Textul Help$ului
/e poate crea un .elp online prin introducerea uneia sau mai multor linii de comentariu dup
linia 96, fiecare linie ncep:nd cu YUY&
1orpul "unc#iei
7orpul funciei conine toate instruciunile n cod MATLAB care permit efectuarea calculelor i
asigneaz alori argumentelor de ieire& (eclaraiile din corp pot conine apelri de funcii,
instruciuni de salt, intrri2ieiri interactie, calcule etc&
1omentarii
4 linie de comentariu ncepe dup cum s!a precizat cu semnul YUY i poate fi plasat oriunde
ntr!un fiier&
5ot fi adugate linii albe oriunde n fiier, acestea fiind ignorate&
J.3. T#+'r# )e )ate :# o+erator#
T#+'r# )e )ate
MATLAB!ul are ase tipuri fundamentale de date "sau clase$, fiecare put:nd fi considerat ca
tablou multidimensional& 7ele ase clase sunt' dou?le@ char@ sparse@ storage@ cell i
struct& Dersiunile bi!dimensionale ale acestor tablouri sunt numite matrici i de aici proine i
numele de MATLAB&
8L
Kn tabelul urmtor sunt prezentate detaliat tipurile de date'
C(asa E2e$+(e 5escr#ere
/rray
Tip de date irtual&
Kell _(*9hello9eye;2<`
Tablou tip celul& <lementele celulei conin alte
tablouri&
Khar 9Rello9
Tablou de tip caracter "sau ir de caractere=string$X
fiecare caracter are 63 bii lungime&
Dou?le V( 2P3 -W
,.)I
Tablou numeric n dubl precizie "cel mai obinuit
tip de ariabil MATLAB$&
Dumeric
Tip de date irtual&
sparse Speye;,<
Matrice de tip @sparseA n dubl precizie "doar B!
($& Tablourile de tip @sparseA stoc.eaz matrici cu
doar c:tea elemente nenule ntr!o fraciune din
spaiul necesar unei matrici normale ec.ialente&
storage
Tip de date irtual&
struct a'day " (2P
a'color " 98ed9P
a'mat " magic;3<P
Tablou tip structur, care conine nume de c:mpuri,
c:mpuri care conin alte tablouri&
uint+ Uint+;magic;3<<
Tablou de numere ntregi fr semn pe ; bii&
User
=?$ect
Inline;9sin;:<9<
Tip de date definit de utilizator&
6+erator#
4peratorii MATLAB pot fi clasificai n trei categorii'
4peratori aritmetici
4peratori relaionali care compar operanzii cantitati
4peratori logici
+peratori aritmetici
.
Adunare
M
4peratorul dou puncte
%
/cdere
'7
5utere
'1
Knmulire
'9
Transpusa
'2
Kmprire la dreapta
9
Transpusa comple% conjugat
'5
Kmprire la st:nga
1
Knmulire de matrici
.
5lus unar
2
Kmprire matriceal la dreapta
%
Minus unar
5
Kmprire matriceal la st:nga
7
5utere de matrice
7u e%cepia unor operatori matriceali, operatorii aritmetici lucreaz cu elementele
corespondente ale unor tablouri de dimensiuni egale& 5entru ectori i tablouri dreptung.iulare
ambii operanzi trebuie s aib aceeai dimensiune, cu e%cepia situaiei n care unul dintre ei este
8;
scalar& Kn acest caz MATLAB!ul aplic scalarul fiecrui element al celuilalt operand "proprietatea
de e%pansiune scalar$&
+peratori rela#ionali
N
Mai mic
N"
Mai mic sau egal
O
Mai mare
O"
Mai mare sau egal
""
<gal cu
Z"
(iferit de
4peratorii relaionali compar elementele corespondente ale unor tablouri de dimensiune egal&
4peratorii relaionali lucreaz totdeauna element cu element& <%emplu'
/ " V2 * )P& # ,P3 #', )WP
Q " V+ * #P3 2 ,P- %( *WP
/ "" Q
ans "
# ( #
# # (
# # #
+peratori logici
Y /DD ;aI<
b
=8 ;S/U<
Z
D=T ;DU<
4 e%presie care utilizeaz operatorul Y este aderat dac ambii operanzi sunt aderai& Kn
termeni numerici, e%presia este aderat dac ambii operanzi sunt nenuli& <%emplu'
u " V( # 2 3 # ,WP
> " V, ) ( # # *WP
u Y >
ans "
( # ( # # (
4 e%presie care utilizeaz operatorul b este aderat dac unul dintre operanzi este logic
aderat sau dac ambii operanzi sunt aderai& Kn termeni numerici, e%presia este fals
dac ambii operanzi sunt nuli& <%emplu'
u b >
ans "
( ( ( ( # (
4 e%presie care utilizeaz operatorul D=T, Z, neag operandul& Kn termeni numerici, orice
operand nenul deine nul i orice operand nul deine unu& <%emplu'
Zu
ans "
# ( # # ( #
4peratorii logici lucreaz cu elementele corespondente ale unor tablouri de dimensiuni egale&
5entru ectori i tablouri dreptung.iulare ambii operanzi trebuie s aib aceeai dimensiune, cu
e%cepia situaiei n care unul dintre ei este scalar& Kn acest caz, ca i la operatorii aritmetici,
MATLAB!ul aplic scalarul fiecrui element al celuilalt operand&
8M
,unc#ii logice
Kn plus fa de operatorii logici MATLAB!ul furnizeaz i funcii logice'
4'nc-#e 5escr#ere E2e$+(e
:or
1ealizeaz sau e%clusi& 1eturneaz logic aderat
dac unul din operanzi este aderat i cellalt fals&
Kn termeni numerici, returneaz ( dac un operand
este nenul i cellalt este zero&
a " (P
? " (P
:or;a@?<
ans "
#
all
1eturneaz ( dac toate elementele unui ector sunt
aderate sau nenule& 4pereaz i cu matrici "pe
coloane$&
u " V# ( 2 #WP
all;u<
ans "
#
/ " V# ( 2P3 , #WP
all;/<
ans "
# ( #
any
1eturneaz ( dac oricare din elementele
argumentului sunt aderate sau nenuleX n caz
contrar returneaz #&
> " V, # +WP
any;><
ans "
(
Alte funcii' isnan@ isinf@ find "a se folosi help pentru detalii$&
'rioritatea operatorilor
(eoarece se pot construi e%presii cu dierse tipuri de operatori, nielurile de prioritate
determin ordinea n care sunt ealuate e%presiile& Kn cadrul fiecrui niel, operatorii au prioritate
egal i sunt ealuai de la st:nga la dreapta&
1egulile de prioritate sunt prezentate n continuare, de la nielul de prioritate cel mai mare spre
cel mai mic&
6+erator N#8e( )e +r#or#tate
;<
5rioritate ma%im
U "negare$
'9 '7 9 7 . "plus unar$ % "minus unar$
'1 '2 '5 1 2 5
. "adunare$ % "scdere$
M N N" O O" "" Z"
Y b 5rioritate minim
J.9. Instr'c-#'n# )e sa(t :# %'c(e
Kn MATLAB e%ist mai multe tipuri de instruciuni de control al buclelor'
if, mpreun cu else i elseif e%ecut un grup de instruciuni pe baza unei condiii
logice&
sGitch, case i otherGise e%ecut dierse grupuri de instruciuni n funcie de aloarea
unei anumite condiii logice&
Ghile e%ecut un grup de instruciuni de un numr nedefinit de ori, pe baza unei condiii
logice&
for e%ecut un grup de instruciuni de un numr fi%at de ori&
3E
?reaF termin e%ecuia pentru o bucl for sau Ghile&
try'''catch sc.imb controlul buclei dac o eroare este detectat n timpul e%ecuiei&
return prooac ntoarcerea la funcia care a apelat prcedura&
Toate instruciunile de salt folosesc comanda end pentru a indica sf:ritul blocului respecti&
7xemple de utilizare a unor instruc#iuni de salt:
+nstruciunile if i elseif<
if n N # N (aca n este negati afiseaza un mesaj de eroare&
disp;9Intrarea tre?uie sa fie poEiti>a9<P
elseif rem;n@2<" "# N(aca n este poziti si par, imparte!l la B&

/ " n22P
else
/ " ;n.(<22P N(aca n este poziti si impar incrementeaza si imparte la B
end
+nstruciunea forM
for i " (Mm
for $ " (Mn
/;i@$< " (2;i . $ % (<P
end
end
J.;. E8a('area )ate(or )e t#+ caracter
<aluarea datelor de tip caracter asigur putere i fle%ibilitate limbajului MATLAB&
4'nc-#a e>al
-uncia e>al ealueaz un ir de caractere care conine o e%presie, o declaraie sau un apel de
funcie& Kn cea mai simpl form, sinta%a este urmtoarea'
e>al;9string9<
<%emplu' ealuarea unei e%presii folosite la generarea unei matrice 9ilbert de ordinul nM
t " 9(2;i.$%(<9P
for i " (Mn
for $ " (Mn
a;i@$< " e>al;t<P
end
end
Alt e%emplu de utilizare a funciei e>al pentru o declaraie'
e>al;9t " clocF9<
4'nc-#a fe>al
-uncia fe>al difer de e>al prin faptul c e%ecut o funcie a crui nume este ntr!un ir de
caractere& /e poate folosi fe>al i funcia input pentru a alege din mai multe sarcini definite de
fiiere &m & <%emplu'

fun " V9sin9P 9cos9P 9log9WP
36
F " input;9Khoose function num?erM 9<P
: " input;9Enter >alueM 9<P
fe>al;fun;F@M<@:<
<ste indicat folosirea funciei fe>al n locul funciei e>al@ deoarece e%ecuia este mai
rapid&
Constr'#rea :#r'r#(or )e caractere +entr' e8a('are
/e pot concatena irurile de caractere pentru a crea e%presii de intrare necesare funciei e>al&
Kn continuare este prezentat un e%emplu n care funcia e>al creeaz 6E ariabile numite P(,
P2, &&&P(#, i seteaz fiecare ariabil la o anumit aloare'
for i"(M(#
e>al;V9P9@int2str;i<@9" i'729W<
end
J.=. Re+reDentarea :# $an#+'(area #n,or$a-##(or )es+re )at> :# t#$+
MATLAB!ul furnizeaz funcii pentru manipularea informaiilor despre dat i timp, funcii
grupate n directorul timefun&
Cate/or#e 4'nc-#e 5escr#ere
(ata i timpul curent
noG
(ata i timpul curent ca numr serial&
date
(ata curent ca ir de caractere&
clocF
(ata i timpul curent ca ector&
7onersii
datenum
7onersia la numr serial al datei&
datestr
7onersia la reprezentare de tip caracter&
date>ec
7omponentele datei&
*tilitare
calendar
7alendar&
GeeFday
[iua din sptm:n&
eomday
*ltima zi din lun&
dateticF
<tic.ete formatate de tip dat&
Timing
cputime
Timpul 75* n secunde&
tic@ toc
/tart i oprire pentru timer&
etime
Timp scurs&
J.I. Intr>r# 't#(#Dator
5entru a obine o intrare de la utilizator n timpul e%ecuiei unui fiier e%ist urmtoarele
posibiliti'
Afiarea unui prompter prin intermediul unei funcii tip input i introducerea unor date de
la tastatur&
4prirea e%ecuiei cu o comand pause "reluarea e%ecuiei la apsarea unei taste$&
7onstruirea unei interfee grafice )*+ complet&
-uncia input asigur afiarea unui prompter i ateapt un rspuns de la utilizator& /inta%a
este'
n " input;9prompt_string9<
-uncia determin afiarea irului de caractere prompt_string, ateapt o intrare de la
tastatur i returneaz aloarea introdus de la tastatur& -uncia este util pentru implementarea
aplicaiilor de tip meniu& Aceast funcie poate s returneze intrarea de la utilizator sub form de
caracter& <%emplu'
name " input;9Enter addressM 9@9s9<P
3B
7omanda pause, fr argumente, oprete e%ecuia p:n la apsarea unei taste& 5entru a aea o
pauz de n secunde se folosete comanda'
pause;n<
L. GRA4ICE FI INTER4EE GRA4ICE 7N MATLAB
L.1. Tehn#c# )e +(otare
Kn general, pentru a realiza o reprezentare grafic, trebuie parcurse etapele urmtoare'
Eta+a Instr'c-#'n#
6&5regtirea datelor
: " #M#'2M(2P
y( " ?essel;(@:<P
y2 " ?essel;2@:<P
y3 " ?essel;3@:<P
B& /electarea ferestrei
grafice i pozionarea
graficului n fereastr
figure;(<
su?plot;2@2@(<
C& Apelarea unei
funcii elementare de
plotare
h " plot;:@y(@:@y2@:@y3<P
G& /electarea
caracteristicilor liniei i
marHerului&
set;h@9Line]idth9@2@_9LineStyle9`@_9%%9P9M9P9%'9`<
set;h@_9Kolor9`@_9r9P9g9P9?9`<
8& /etarea limitelor a%elor,
gridare "caroiere$
a:is;V# (2 %#', (W<
grid on
3& 7ompletarea graficului
cu etic.ete pe a%e,
legend, te%t
:la?el;9Time9<
yla?el;9/mplitude9<
legend;h@9First9@9Second9@9Third9<
title;9Qessel Functions9<
Vy@i:W " min;y(<P
te:t;:;i:<@y@9First Min 5rightarroG9@'''
9RoriEontal/lignment9@9right9<
L& <%port grafice
print %depsc %tiff %r2## myplot
-unciile de baz folosite la plotare sunt prezentate n tabelul urmtor'
4'nc-#e !t#(#Dare
Plot
)enereaz grafice B!( cu scalare liniar a a%elor
Plot3
)enereaz grafice C!( cu scalare liniar a a%elor
loglog
)enereaz grafice cu scalare logaritmic a a%elor
semilog:
)enereaz grafice cu scalare liniar a a%ei # i cu scalare logaritmic a a%ei %
semilogy
)enereaz grafice cu scalare liniar a a%ei % i cu scalare logaritmic a a%ei #
plotyy
)enereaz grafice cu dubl reprezentare a a%ei # "pe st:nga i pe dreapta$
L.1.1. P(ot>r# 3 5 e(e$entare
Generarea /ra,#ce(or
-uncia plot are diferite forme n funcie de argumentele de intrare&
3C
(ac de e%emplu y este un ector, plot;y< produce un grafic liniar al elementelor lui
y ersus inde%ul elementelor sale&
(ac se specific doi ectori ca argumente, plot;:@y< produce graficul lui y ersus
:&
<%emplu' t " #Mpi2(##M21piP
y " sin;t<P
plot;t@y<
grid on
/e pot realiza grafice multiple utiliz:nd un singur apel al funciei plot' MATLAB!ul
realizeaz automat o reprezentare cu culori diferite pentru a permite distingerea graficelor&
<%emplu'
y2 " sin;t%#'2,<P
y3 " sin;t%#',<P
plot;t@y@t@y2@t@y3<
+ec#,#carea st#('('# )e (#n#e
/e pot crea diferite tipuri de linii pentru fiecare set de date prin folosirea unor identificatori de
tip string n funcia plot& <%emplu'
t " #Mpi2(##M21piP
y " sin;t<P
y2 " sin;t%#'2,<P
y3 " sin;t%#',<P
plot;t@y@9%9@t@y2@9%%9@t@y3@9M9<
3G
-unciile de plotare accept deci argumente de tip caracter care specific stilul liniei,
simbolurile utilizate pentru marHer, culoarea etc& -orma general este'
plot;:@y@9linestyle_marker_color9<
unde linestyle_marker_color este un ir de caractere construit din'
*n stil de linie "de e%emplu linie punctat, plin etc&$
*n tip de marHer "de e%emplu :, 1, o, etc&$
*n specificator de culoare "c, m, y, F, r, g, ?, G$
/e poate folosi un specificator sau mai muli, n orice ordine& (e e%emplu,
9go%%9
definete o linie ntrerupt, cu marHere circulare, ambele colorate n erde&
+ec#,#carea c'(or## :# )#$ens#'n## (#n##(or
7aracteristicile liniilor se pot controla prin specificarea unor alori pentru proprietile linilor'
Line]idth = specific limea unei linii&
MarFerEdgeKolor = seteaz culoarea marHerului sau culoarea marginilor marHerului n
cazul anumitor forme "cerc, ptrat etc&$
MarFerFaceKolor = seteaz culoarea interiorului marHerelor&
MarFerSiEe = specific dimensiunea marHerului&
<%emplu'

: " %piMpi2(#MpiP
y " tan;sin;:<< % sin;tan;:<<P
plot;:@y@9%%rs9@9Line]idth9@2@'''
9MarFerEdgeKolor9@9F9@'''
9MarFerFaceKolor9@9g9@'''
9MarFerSiEe9@(#<
38
'+ra+'nerea 'nor /ra,#ce +este 'n /ra,#c e2#stent

/e pot aduga grafice peste unul e%istent cu comanda hold& (ac se seteaz hold on,
MATLAB!ul nu nltur graficul e%istent, ci suprapune noul grafic n aceeai fereastr grafic&
<%emplu'
semilog:;(M(##@9.9<
hold on
plot;(M3M3##@(M(##@9%%9<
hold off
P(otarea s#$'(tan> a $arkere(or :# (#n##(or
5entru plotarea marHerelor "care indic punctele corespunztoare datelor$ i a liniilor "care
unesc aceste date$ se specific at:t tipul marHerului c:t i stilul liniei& <%emplu'
: " #Mpi2(,M-1piP
y " e:p;21cos;:<<P
plot;:@y@9%r9@:@y@9oF9<
33
P(otarea )ate(or )#n $atr#c#

Atunci c:nd funcia plot este utilizat cu un singur argument de tip matrice'
plot;J<
a fi realizat un grafic pentru fiecare coloan a matricii, cu a%a x reprezent:nd inde%ul de linie (Mm,
cu m numrul liniilor din J&
<%emplu' cu instruciunea I " peaFsP este creat o matrice GM%GM obinut printr!o ealuare
de funcie& (ac plotm matricea cu plot;I<om aea un grafic cu GM de linii&
P(otarea c' a2a M )'%(>
7omanda plotyy permite crearea unor grafice pentru dou seturi de date i cu reprezentare
dubl a a%ei c, pe partea st:ng i pe partea dreapt&
<%emplu'
t " #Mpi22#M21piP
y " e:p;sin;t<<P
plotyy;t@y@t@y@9plot9@9stem9<
3L
etarea +ara$etr#(or a2e(or
MATLAB!ul seteaz automat limitele a%elor i gradarea acestora& /e pot ns folosi i setrile
utilizatorului, cu comenzile'
a:is = seteaz a%ele pentru fereastra grafic curent&
a:es = creeaz a%e noi cu caracteristici specificate&
get i set = permit obinerea i setarea unor proprieti ale a%elor&
gca = returneaz identificatorul a%elor curente&
/e pot parcurge n detaliu aceste comenzi prin apelarea la help'
4erestre )e t#+ ,#/'r>
MATLAB!ul direcioneaz ieirile grafice spre o fereastr distinct de fereastra de comand&
Aceast fereastr grafic este denumit )igur# ")igure$& "a se edea paragraful C&C$&
-uncia figure genereaz ferestre grafice& (e e%emplu,
figure
genereaz o nou fereastr i o face fereastra curent&
A"i-area unor gra"ice multiple 2n aceea-i "ereastr0 gra"ic0
/e poate realiza o afiare a mai multor grafice n aceeai fereastr prin intermediul funciei
su?plot&
-uncia su?plot;m@n@i< desparte fereastra de tip figur ntr!o matrice m % n de mici
subploturi "subgrafice$ i selecteaz subplotul i ca grafic curent& <%emplu'
t " #Mpi22#M21piP
V:@yW " meshgrid;t<P
su?plot;2@2@(<
plot;sin;t<@cos;t<<
a:is eAual
su?plot;2@2@2<
E " sin;:<.cos;y<P
plot;t@E<
a:is;V# 21pi %2 2W<
su?plot;2@2@3<
E " sin;:<'1cos;y<P
plot;t@E<
a:is;V# 21pi %( (W<
su?plot;2@2@-<
E " ;sin;:<'72<%;cos;y<'72<P
plot;t@E<
a:is;V# 21pi %( (W<
3;
Co$enD# )e $arcare, et#chetare :# /ra)are a /ra,#ce(or
MATLAB!ul furnizeaz comenzi de etic.etare a fiecrei a%e i de plasare a unui te%t n orice
loc din grafic& 7omenzile sunt prezentate n tabelul urmtor&
Co$an)> 5escr#ere
title
Adaug un titlu
:la?el
Adaug o etic.et pe a%a x
yla?el
Adaug o etic.et pe a%a y
Ela?el
Adaug o etic.et pe a%a z
legend
Adaug o legend
Te:t
Afieaz un te%t la o locaie specificat
Gte:t
5laseaz te%tul pe grafic utiliz:nd mouse!ul
7ticetarea axelor
/e pot aduga etic.ete pe a%e cu comenzile :la?el, yla?el, Ela?el&
<%emplu'
:la?el;9t " # to 25pi9@9FontSiEe9@()<
yla?el;9sin;t<9@9FontSiEe9@()<
title;95it_Lalue of the Sine from Iero to TGo
Pi`9@9FontSiEe9@()<
3M
MATLAB!ul interpreteaz caracterele care urmeaz dup bacHslas. Y\Y ca i comenzi TeJ&
Aceste comenzi permit reprezentarea unor simboluri cum ar fi literele greceti sau sgeile&
Ad0ugarea textelor
5rin utilizarea funciei te:t se poate plasa un te%t "ir de caractere$ oriunde pe grafic&
<%emplu'
te:t;31pi2-@sin;31pi2-<@'''
95leftarroGsin;t< " '*#*9@'''
9FontSiEe9@()<
te:t;pi@sin;pi<@95leftarroGsin;t< " #9@'''
9FontSiEe9@()<
te:t;,1pi2-@sin;,1pi2-<@9sin;t<"%'*#*5rightarroG9@'''
9RoriEontal/lignment9@9right9@'''
9FontSiEe9@()<
'lasarea textului 2n mod interactiv
(ac utilizm funcia gte:t se poate plasa un te%t n mod interacti, cu mouse!ul, oriunde pe
grafic& Aceast funcie accept ca argument un ir de caractere i ateapt p:n c:nd utilizatorul
selecteaz un loc pe grafic cu ajutorul mouse!ului&
LE
/e poate utiliza i 5lot <ditor pentru plasarea te%tului "a se edea paragraful C&C$&
L.1.3. Gra,#ce 3 5 s+ec#a(#Date
MATLAB!ul permite lucrul cu o mare arietate de tipuri de grafice, astfel nc:t informaiile s
poat fi prezentate eficient&
Tipul de grafic selectat depinde n mod esenial de natura datelor prelucrate&
)raficele de tip bare sau arie "?ar@ area$ sunt utile pentru izualizarea unor rezultate,
compararea lor i afiarea unei contribuii indiiduale din total&
)raficele de tip statistic "pie charts$ indic contribuiile indiiduale dintr!un total&
9istogramele "histogram$ sunt utile pentru a indica distribuia alorilor datelor&
)raficele de tip stem i stairstep sunt utile pentru date discrete&
)raficele compass@ feather@ Aui>er sunt utile pentru plotarea ectorilor de tip
direcie i itez&
)raficele de tip contur "contour$ sunt utile la reprezentarea unor regiuni de alori egale
ale datelor&
5lotrile interactie "interacti>e$ permit selectarea unor puncte de plotare n mod
interacti&
)raficele de tip animaie "animations$ adaug date la grafice consecutie i creeaz o
animaie&
Gra,#ce )e t#+ Bar :# Area
4'nc-#e 5escr#ere
Qar
Afieaz coloanele unor matrici m%n ca m grupe de n bare erticale
Qarh
Afieaz coloanele unor matrici m%n ca m grupe de n bare orizontale
?ar3
Afieaz coloanele unor matrici m%n ca m grupe de n bare erticale C!(
?ar3h
Afieaz coloanele unor matrici m%n ca m grupe de n bare orizontale tridimensionale
C!(
/rea
Afi eaz datele din vectori ca suprafe e
Gra"ice Bar grupate
7a setare implicit, un grafic cu bare reprezint fiecare element dintr!o matrice cu o singur
bar& Kn cazul unui grafic B!(, barele create cu funcia ?ar sunt distribuite de!a lungul a%ei x, cu
fiecare element dintr!o coloan desenat la alt locaie& Toate elementele dintr!o linie sunt
reprezentate grupat la aceeai locaie pe a%a x&
<%emplu'
J " V, 2 (
+ * 3
& + )
, , ,
- 3 2WP
?ar;J<
L6

)rupele de coloane
reprezint linii din
c&
Gra"ice Bar ;$D separate
-uncia ?ar3, n cea mai simpl form, traseaz fiecare element ca un bloc separat de tip C!(,
cu elementele fiecrei coloane distribuite de!a lungul a%ei y& Barele care reprezint elementele din
prima coloan a unei matrice sunt centrate la 6 pe a%a x &a&m&d& Barele care reprezint elementele
din ultima coloan sunt centrate la aloarea siEe;J@2< de pe a%a x& <%emplu' ?ar3;J<'

*ltimul grup de
bare reprezint
ultima linie din c
Gra"ice Bar ;$D grupate
5entru a realiza un grafic de bare grupate C ( se specific argumentul 9group9M
?ar3;J@9group9<

*ltimul grup de bare
reprezint ultima linie
LB
Gra,#ce stat#st#ce . +#e charts
)raficele pie afieaz procentul cu care fiecare element al unui ector sau matrice contribuie la
suma tuturor elementelor& -unciile pie i pie3 creeaz grafice B!( i C!(&
Kn continuare prezentm un e%emplu de izualizare a ponderii a trei produse din totalul
:nzrilor& /e consider o matrice H@ pentru care fiecare coloan reprezint :nzrile anuale pentru c:te un
produs, pe o perioad de nregistrri de 8 ani'
H " V(&'3 22'( ,(')P
3-'2 *#'3 +2'-P
)('- +2'& &#'+P
,#', ,-'& ,&'(P
2&'- 3)'3 -*'#WP
/e pot calcula :nzrile pentru fiecare produs n cei 8 ani cu ajutorul funciei'
: " sum;H<P
(ac utilizm argumentul de intrare e:plode putem reprezenta ntr!un mod e%plodat care
dintre produse a aut o contribuie mai mare la :nzri "de e%emplu$& 5rogramul are urmtoarea
form'
e:plode " Eeros;siEe;:<<P
Vc@offsetW " ma:;:<P
e:plode;offset< " (P
h " pie;:@e:plode<P colormap summer
Crearea )e /ra,#ce t#+ cont'r
-unciile contour i contour3 afieaz contururi B!( i C!(& -unciile cer un singur argument,
i anume o matrice, ale crei date sunt interpretate ca nlimi fa de un plan&
5entru a seta numrul de nieluri de contur "implicit se realizeaz automat pe baza alorilor
minime i ma%ime$ se folosete un argument suplimentar opional& (e e%emplu,
VH@J@IW " peaFsP
contour;H@J@I@2#<
afieaz BE de contururi ale funciei peaFs ntr!o edere bidimensional&

LC
(ac dorim o reprezentare C ( putem folosi comenzile'
VH@J@IW " peaFsP
contour3;H@J@I@2#<
h " findo?$;^Type9@9patch9<P
set;h@9Line]idth9@2<
title;9TGenty Kontours of the peaFs Function9<
An#$a-#e
/e pot crea secene animate n MATLAB pe dou ci'
/alarea unui numr de imagini i rularea lor ca pe un film&
Stergerea continu i redesenarea unor obiecte pe ecran, fc:nd sc.imbri n mod
incremental la fiecare redesenare&

,ilme
/e parcurg trei etape'
/e folosete mo>iein pentru iniializarea memoriei pentru o matrice suficient de mare&
/e utilizeaz getframe pentru a genera fiecare cadru de film, care este returnat ca un
ector coloan cu care se poate construi o matrice de tip film&
LG
/e folosete mo>ie pentru rularea @filmuluiA de un numr specificat de ori cu o itez
specificat&
/tergere -i redesenare
5ot fi create diferite efecte prin selectarea unor moduri de tergere& 5entru crearea unei animaii
sunt utile trei moduri de tergere'
none ! MATLAB nu terge obiectele&
?acFground ! MATLAB terge obiectul i l redeseneaz n bacHground& Acest mod terge
obiectul i tot ce este sub el "linii de grid etc&$&
:or = Acest mod terge doar obiectul i este cel mai folosit la animaie&
5entru izualizarea unor efecte de animaie i construirea unor e%emple proprii este indicat
utilizarea facilitii demo a MATLAB!ului&
L.1.9. P(ot>r# tr#)#$ens#ona(e 09 51
5aii tipici care trebuie parcuri pentru trasarea unor grafice tridimensionale sunt prezentai n
continuare&
Eta+a Instr'c-#'n#
6&5regtirea datelor
I " peaFs;2#<P
B& /electarea ferestrei
grafice i poziionarea
graficului n fereastr
figure;(<
su?plot;2@(@2<
C& Apelarea unei funcii
de plotare C!(
h " surf;I<P
Ga& /etarea unei .ri de
culori i a unui algoritm
de umbrire
colormap hot
shading interp
set;h@9EdgeKolor9@9F9<
Gb& Adugarea unei
iluminri
light;9Position9@V%2@2@2#W<
lighting phong
material;V#'-@#')@#',@3#W<
set;h@9FaceKolor9@V#'* #'* #W@'''
9QacFFaceLighting9@9lit9<
8& /etarea unui punct de
izualizare
>ieG;V3#@2,W<
set;gca@9KameraLieG/ngleMode9@9Manual9<
3& /etarea limitelor a%elor
i a marcajelor
a:is;V, (, , (, %+ +W<
set;gca9ITicFLa?el9@9Degati>ebbPositi>e9<
L& /etarea
proporionalitii
set;gca@9PlotQo:/spect8atio9@'''
V2', 2', (W<
;& 7ompletarea graficului
cu etic.ete, legend, te%t
:la?el;9H /:is9<
yla?el;9J /:is9<
Ela?el;9Function Lalue9<
title;9PeaFs9<
M& 4peraiuni de tiprire
set;gcf@9PaperPositionMode9@9auto9<
print %dps2
L8
Re+reDentarea 'ne# $atr#ce ca o s'+ra,a->
MATLAB!ul definete o suprafa prin coordonatele z ale punctelor de deasupra unui caroiaj
dreptung.iular n planul x!y& )raficul este format prin unirea punctelor adiacente cu linii drepte&
5lotrile de suprafee sunt utile pentru izualizarea matricilor care sunt prea mari pentru a fi afiate
n form numeric i pentru trasarea graficelor funciilor de dou ariabile&
MATLAB!ul poate crea diferite forme de trasare a suprafeelor'
4'nc-#e !t#(#Dare
mesh@ surf
Trasare a unei suprafee
meshc@ surfc
Trasarea suprafeei, inclusi conturul
meshE
Trasarea suprafeei, inclusi planul de referin
pcolor
5lotare plan a suprafeei "alorile sunt proporionale doar cu culoarea$
surfl
Trasarea suprafeei luminat din direcia specificat
surface
-uncie de niel sczut pentru crearea unor obiecte tip grafice suprafa
Gra,#ce rea(#Date c' mesh :# surf
7omenzile mesh i surf genereaz suprafee C!( din datele proenite de la matrici& (ac I este
o matrice pentru elementele creia I;i@$< se definete nlimea unei suprafee peste un caroiaj
;i@$< atunci
mesh;I<
genereaz o imagine colorat, caroiat a suprafeei i o afieaz n edere C!(&
/imilar,

surf;I<
genereaz o imagine colorat, continu a suprafeei i o afieaz n edere C!(&
Kn cazul comenzii mesh se pot folosi comenzi de tipul shading pentru eliminarea liniilor de tip
mes. "shading flat$ sau pentru interpolarea umbririlor de!a lungul faetelor suprafeei "shading
interp$&
G#D'a(#Darea ,'nc-##(or )e )o'> 8ar#a%#(e
5rimul pas care trebuie parcurs pentru trasarea graficului unei funcii de dou ariabile, z =
)7x,y8, este de a genera matricile H i J care definesc domeniul n care a fi izualizat funcia& Apoi
se utilizeaz aceste matrici pentru ealuare i trasarea graficului funciei&
-uncia meshgrid transform domeniul specificat prin doi ectori, : i y, n matricile H i J&
Liniile matricei H sunt copii ale ectorului : i coloanele matricei J sunt copii ale ectorului y&
5entru a edea cum se folosete meshgrid, om considera funcia sin7r8?r "numit funcia
sinc$& 5entru a ealua funcia ntre !; i ; i pentru x i pentru y, este necesar doar un argument de
tip ector pentru meshgrid, care a fi utilizat n ambele direcii'
VH@JW " meshgrid;%+M',M+<P
8 " sArt;H'72 . J'72< . epsP
Matricea 8 conine distanele de la centru "originea$, iar eps este adugat pentru a eita
mprirea la zero&
L3
Acum se poate forma funcia sinc i se poate realiza plotarea cu mesh&
I " sin;8<'28P
mesh;I<
/e poate realiza o mbuntire a reprezentrii grafice n condiiile utilizrii acelorai date, prin
folosirea unor faciliti de iluminare i ajustare a imaginii "daspect@ a:is@ camlight@
>ieG$&
<%emplu'
surf;H@J@I@9FaceKolor9@9interp9@9EdgeKolor9@9none9@'''
9FaceLighting9@9phong9<
daspect;V, , (W<Pa:is tightP>ieG;%,#@3#<Pcamlight left

*arta c'(or#(or
-iecare fereastr grafic MATLAB are asociat o .art a culorilor "colormap$, care este o
matrice cu trei coloane a cror lungime este egal cu numrul de culori definite& -iecare linie a
matricii definete o culoare particular prin specificarea a trei alori n domeniul E = 6& Aceste
alori definesc componentele 1)B "red, green, blue$ "adic intensitile componentelor ideo rou,
erde i albastru$& -uncia colormap fr argumente returneaz .arta figurii curente&
LL
-uncia color?ar afieaz n fereastra grafic .arta curent a culorilor, sub forma unei bare
aezate l:ng grafic& <%emplu'
V:@yW " meshgrid;V%2M'2M2W<PI " :'1e:p;%:'72%y'72<P
surf;:@y@I@gradient;I<<Pcolor?ar
L.3. Handle Grapics :# Inter,e-e Gra,#ce ?n MATLAB 0G!I1
7rearea i manipularea graficelor n MATLAB se realizeaz cu ajutorul unui sistem de
grafic orientat pe obiecte denumit Handle Grapics& Acest sistem furnizeaz componentele
necesare generrii unor grafice' comenzi de trasare a liniilor, te%telor, grafice C!(, poligoane etc&
precum i instrumente interactie de tipul meniurilor, butoanelor, ferestre de dialog etc&
7u Handle Grapics se pot manipula direct elementele grafice "aa cum o fac funciile
MATLAB de niel nalt descrise n paragraful anterior$ pe dou ci' fie de la linia de comand
MATLAB fie cu ajutorul unor fiiere MATLAB create special&
L.3.1. Gra,#ce(e +r#8#te ca o%#ecte. Ierarh#a o%#ecte(or
4biectele grafice sunt de fapt elementele grafice de baz utilizate de MATLAB pentru afiarea
datelor i pentru crearea +nterfeelor )rafice *tilizator ")rap.ical *ser +nterfaces ! )*+$& -iecare
stare a unui obiect este asociat unui identificator unic numit handle, care poate fi folosit pentru
manipularea caracteristicilor obiectului respecti "caracteristici care sunt numite propriet0#ile
obiectului$&
4biectele grafice sunt structurate ntr!o ierar.ie pe trei niele'

+erar.ia este bazat pe interdependenele dintre diferitele obiecte grafice& (e e%emplu, pentru
trasarea unui obiect linie, MATLAB utilizeaz un obiect de tip a%e pentru orientarea i furnizarea
unui sistem de referin liniei& 4biectul de tip a%e are neoie la r:ndul su de o fereastr grafic
pentru afiarea liniei&
L;
4biectele grafice sunt interdependente i prin urmare un ecran grafic conine o mare arietate de
obiecte care mpreun furnizeaz o imagine sau un grafic care are o semnificaie clar& 5entru
e%emplificare se poate analiza urmtoarea fereastr grafic, fereastr care conine mai multe obiecte
grafice&
-iecare tip de obiect grafic are o funcie generatoare corespunztoare, funcie care este utilizat
pentru crearea unui obiect din clasa respecti de obiecte& -unciile de generare a obiectelor au
aceleai nume ca i obiectele pe care le creeaz "funcia te:t pentru obiecte de tip te%t, funcia
figure pentru obiecte de tip figur etc&$&
Tipurile de obiecte grafice sunt descrise pe scurt n continuare&
80d0cina &8oot(
Kn fruntea ierar.iei este obiectul rdcin, care corespunde cu ecranul calculatorului& Acest
obiect nu trebuie creat, el e%ist, este unic i toate celelalte obiecte sunt descendenii acestuia& /e
pot modifica anumite proprieti ale obiectului rdcin&
+biectele "igur0 &,igure(
4biectele de tip figur sunt ferestre indiiduale pe ecranul rdcin pe care MATLAB!ul
afieaz graficele& ,u e%ist limit pentru numrul de ferestre grafice "dec:t cele datorate limitelor
calculatorului$& Toate obiectele figur sunt @copiiA ai rdcinii i celelalte obiecte grafice sunt
descendeni ai figurilor&
+biectele de tip <icontrol
4biectele Uicontrol sunt elemente de control ale interfeei utilizator care e%ecut subrutine
de apel atunci c:nd utilizatorul actieaz un obiect& <%ist mai multe stiluri de control cum ar fi
butoane, liste etc& -iecare astfel de instrument este proiectat s accepte un anumit tip de informaie
LM
de la utilizator& (e e%emplu, listele sunt de obicei folosite pentru pentru furnizarea unei liste de
nume, din care utilizatorul poate selecta unul sau mai multe articole&
4biectele *icontrol pot fi utilizate n diferite combinaii pentru construirea unor ecrane de
control i a unor ferestre de dialog& Kn e%emplul urmtor sunt prezentate astfel de combinaii'
meniuri @pop!upA, ferestre de tip te%t editabile, ferestre de erificare "c.ecH bo%es$, butoane, te%t
static, cadre etc&

Meniurile pop!up permit alegerea dintre
mai multe articole predefinite
*tilizatorul poate introduce alori
numerice n astfel de ferestre de tip te%t
editabile
-erestrele de erificare "c.ecH bo%es$
indic alegerea fcut de utilizator
7adrele realizeaz grupri logice pentru
dierse tipuri de comenzi
Te%tele statice permit etic.etarea
dierselor tipuri de controale
Butoanele indic o anumit aciune
4biectele *icontrol sunt copiii obiectelor de tip figur i sunt independente de obiectele de tip
a%e&
+biectele de tip <imenu
4biectele Uimenu sunt meniuri @pull!do0nA care e%ecut rutine de apelare atunci c:nd
utilizatorul selecteaz un articol indiidual dintr!un meniu& MATLAB!ul plaseaz obiectele *imenu
pe bara de meniuri a ferestrei grafice, la dreapta meniurilor e%istente definite de sistem&
+maginea urmtoare arat partea de sus a unei figuri M/!Iindo0s care are definite trei meniuri
de top *imenu "intitulate IorHspace, -igure, i A%es$& (ou nieluri de submeniuri sunt izibile n
meniul IorHspace&
4biectele *imenu sunt descendente directe ale obiectelor de tip figur i deci sunt independente
de a%e&
+biectele de tip axe &Axes(
4biectele de tip a%e definesc o regiune ntr!o fereastr de tip figur i orienteaz descendenii
lor spre aceast regiune& 4biectele de tip a%e sunt copiii obiectelor de tip figur i sunt prinii
obiectelor de tip imagine, luminozitate, linie, patc., suprafa i te%t&
Toate funciile care traseaz grafice "plot@ surf@ mesh@ ?ar etc&$ creeaz un obiect de
tip a%e dac nu e%ist deja unul&
*icontrol i *imenu nu sunt descendeni ai obiectelor de tip a%e&
+biectele de tip %magine &%mage(
4 imagine n MATLAB const ntr!o matrice de date i o .art a culorilor& <%ist trei tipuri de
baz de imagini care difer n funcie de modul n care elementele matricii de date sunt interpretate
ca pi%eli color = inde%ai, intensitate i @truecolorA&
+biectele de tip lumin0 &luminozitate( &Ligt(
Aceste obiecte definesc surse de lumin care influeneaz toate obiectele de tip patc. i
suprafa dintre a%e& /e pot seta proprietile care determin tipul sursei de lumin, culoarea,
localizarea i altele&
;E
+biectele de tip linie &Line(
4biectele de tip linie sunt elemente grafice de baz care sunt folosite pentru a genera cele mai
multe plotri B!( i unele C!(& -unciile de niel nalt plot@ plot3@ loglog etc& genereaz
obiecte de tip linie& /istemul de coordonate al obiectului printe = obiectul de tip a%e = poziioneaz
i orienteaz linia&
+biectele de tip 'atc
Aceste obiecte sunt contururi poligonale cu muc.ii "laturi$, umplute& *n singur obiect patc.
poate conine mai multe fee, fiecare colorat independent& -unciile fill@ fill3@ contour3
creeaz obiecte patc.& 7a i n cazul liniei, sistemul de coordonate al obiectului printe "a%ele$
poziioneaz i orienteaz obiectul patc.&
+biectele de tip dreptungi &8ectangle(
Aceste obiecte sunt arii B!( umplute, cu o form care poate aria de la un dreptung.i la o elips&
+biectele de tip supra"a#0 &Sur"ace(
4biectele de tip /urface sunt reprezentri C!( ale matricilor de date create prin plotarea fiecrui
element al matricii ca o nlime deasupra planului x!y& MATLAB!ul poate trasa suprafee pline,
colorate sau doar o reea de linii "mes.$ care conecteaz punctele respectie& /istemul de
coordonate al a%elor poziioneaz i orienteaz obiectul de tip suprafa& -unciile de niel nalt
pcolor@ surf@ mesh genereaz obiecte de tip suprafa&
+biectele de tip Text
4biectele de tip te%t sunt de fapt iruri de caractere& /istemul de coordonate al a%elor
poziioneaz te%tul& -unciile de niel nalt title@ :la?el@ yla?el@ Ela?el@ gte:t
genereaz obiecte de tip te%t&
L.3.3. Pro+r#et>-#(e o%#ecte(or /ra,#ce
5roprietile obiectelor grafice determin aspectul i comportamentul acestora& 5roprietile
includ informaii generale "tipul obiectului, printe, copii, dac obiectul este izibil etc&$ i
informaii specifice unei anumite clase particulare de obiecte&
MATLAB!ul organizeaz informaiile ntr!o ierar.ie i saleaz aceste informaii n
proprieti ale obiectelor& (e e%emplu, proprietile rdcinii conin identificatorul ".andle$ figurii
curente i locaia curent a pointerului "cursorului$, proprietile figurii conin liste cu descendenii
i eenimentele din fereastr, proprietile a%elor conin informaii despre cum fiecare din obiectele
copil folosete .arta culorilor etc&
Daloarea curent a oricrei proprieti poate fi aflat, iar unele alori pot fi modificate&
Daloarea unei proprieti este aplicat numai unui obiect particular i nu ntregii clase de obiecte& /e
pot seta alori implicite care s fie alabile pentru toate obiectele create ulterior&
Anumite proprieti sunt comune tuturor obiectelor grafice'
Pro+r#etate In,or$a-## con-#n'te
Qusy/ction
7ontroleaz modul n care MATLAB!ul apeleaz rutinele de ntreruperi
definite pentru un anumit obiect&
QuttonDoGnFcn
1utin e%ecutat la apsarea unui buton&
Khildren
Manipuleaz toate obiectele copil ale obiectului&
Klipping
Actiare2dezactiare mod tiere&
KreateFcn
1utin e%ecutat atunci c:nd acest tip de obiect este creat&
DeleteFcn
1utin e%ecutat atunci c:nd se d o comand de distrugere "tergere$ a
obiectului&
RandleLisi?ility
5ermite controlul obiectului de la linia de comand sau din rutine de
apelare&
;6
Interrupti?le
(etermin c:nd o rutin poate fi ntrerupt printr!o rutin inocat
ulterior&
Parent
5rintele obiectului&
Selected
+ndic dac obiectul este selectat&
SelectionRighlight
/pecific dac este indicat starea de selectare&
Tag
<tic.et a unui obiect specificat de utilizator&
Type
Tipul obiectului "figur, linie, te%t etc&$
UserData
4rice dat care se dorete a fi asociat obiectului&
Lisi?le
(etermin dac obiectul este izibil sau nu&
L.3.9. 4'nc-## )e /enerare a o%#ecte(or /ra,#ce
-iecare obiect grafic, mai puin rdcina, are o funcie de generare corespondent'
4'nc-#e 5escr#ere o%#ect
a:es
/istem de coordonate carteziene care scaleaz i orienteaz obiectele
copil' imagine, lumin, linie, patc., suprafa i te%t&
figure
-ereastr pentru afiare grafic&
image
+magine B!( definit prin indicarea .rii culorilor sau alori 1)B&
(atele pot fi pe ; bii sau dubl precizie&
light
/urs direcionat de lumin, localizat ntre a%e, care influeneaz
suprafeele i obiectele patc.&
line
Linie format prin conectarea coordonatelor prin segmente drepte ntr!o
secen specificat&
patch
-orm poligonal creat prin interpretarea fiecrei coloane din matricile
de coordonate ca un poligon separat&
rectangle
Arie B!( umplut "plin$, cu form de la dreptung.i la elips&
surface
/uprafa cu fee dreptung.iulare, definite prin interpretarea elementelor
matricei ca nlimi deasupra planului&
te:t
Sir de caractere localizat n sistemul de coordonate al a%elor&
uiconte:tmenu
Meniu conte%t ce poate fi asociat cu alt obiect grafic&
uicontrol
+nterfa utilizator programabil "butoane, liste etc&$&
uimenu
Meniu programabil care apare n partea superioar a figurii&
Toate funciile de generare a obiectelor au un format similar
'
handle"function;9propertyname9@propertyvalue@'''<
7xemplu de generare a obiectelor gra"ice
Kn e%emplul urmtor este ealuat o funcie matematic i sunt create trei obiecte grafice
folosind alorile proprietilor specificate ca argumente ale comenzilor figure, a:es i
surface, celelalte proprieti a:nd alori implicite&
V:@yW " meshgrid;V%2M'-M2W<P
I " :'1e:p;%:'72%y'72<P
fh"figure;9Position9@V3,# 2*, -## 3##W@9Kolor9@9G9<P
ah"a:es;9Kolor9@V'+ '+ '+W@9HTicF9@V%2 %( # ( 2W@'''
9JTicF9@V%2 %( # ( 2W<P
sh " surface;9HData9@:@9JData9@y@9IData9@I@'''
9FaceKolor9@get;ah@9Kolor9<.'(@'''
9EdgeKolor9@9F9@9MarFer9@9o9@'''
9MarFerFaceKolor9@V', ( '+,W<P
;B
-uncia surface nu folosete o edere C!( ca funcia de niel nalt surf& /e poate sc.imba
ederea ntr!una C!( cu camera commands sau cu comanda >ieG'
>ieG;3<
N. PREZENTAREA T66LB6O.!RIL6R MATLAB
MATLAB permite dezoltarea unei familii de aplicaii sub forma toolbox!urilor& Aceste
toolbox-uri permit narea i aplicarea te.nologiilor specializate din dierse domenii& /unt
disponibile toolbo%!uri pentru domenii cum ar fi' procesarea numeric a semnalelor, sisteme de
conducere automat, reele neurale, logic fuzz#, 0aelet, simulare "IM!LIN"$, identificare,
statistic, crearea de .ri, procesarea imaginilor, etc& Kn continuare sunt prezentate pe scurt
facilitile oferite de c:tea din aceste toolbo%!uri&
N.1. Too(%o2.'( Co$'n#ca-## 0Co$$'n#cat#ons Too(%o21
7ommunications Toolbo% este o colecie de funcii de calcul i blocuri de simulare pentru
cercetare, dezoltare, proiectarea de sisteme i simulare n domeniul comunicaiilor& Toolbo%ul este
proiectat at:t pentru e%peri c:t i pentru nceptori n domeniu, i se bazeaz pe MATLAB i
/imulinH&
-uncii disponibile'
d /urse de date
d /urse codare2decodare
d 7ontrolul erorilor de codificare
;C
d Modulare2demodulare
d -iltre transmisie2recepie
d 7anale de transmisie
d Acces multiplu
d /incronizare
d *tilitare
N.3. Too(%o2.'( +entr' #ste$e )e Con)'cere A'to$at> 0Contro( Aste$1
MATLAB!ul dispune de o colecie bogat de funcii utile at:t inginerului automatist practician
c:t i teoreticianului din domeniul teoriei sistemelor& 5rintre facilitile oferite enumerm'
aritmetic comple%, alori proprii, gsirea rdcinilor, inersri de matrici, Transformarea -ourier
1apid etc&
Toolbo%!ul 7ontrol /#stem folosete structurile matriceale ale MATLAB i reprezint fundaia
MATLAB& Toolbo%!ul este o colecie de algoritmi "n principal sub forma fiierelor &m$, care
implementeaz proiectarea sistemelor de conducere, precum i te.nici de analiz i modelare&
/istemele pot fi modelate n MATLAB ca funcii de transfer, sub forma poli!zerouri sau prin
reprezentarea de stare, ceea ce permite aplicarea te.nicilor clasice i a celor moderne& /e poate lucra
cu sisteme continue i cu sisteme discrete i pot fi efectuate conersii ntre diersele tipuri de
modele& Toolbo%!ul permite calculul i trasarea rspunsurilor n domeniul timp i domeniul
frecen, precum i a locului rdcinilor& (e asemenea, se pot realiza alocri de poli, se pot
implementa conducerea optimal i estimatoare etc&
N.9. Too(%o2.'( +entr' BaDe )e 5ate 05ata%ase Too(%o21
Toolbo%!ul Baze de (ate permite importul i e%portul de date ntre MATLAB i cele mai
rsp:ndite programe de baze de date& 7u acest toolbo% se pot importa date din e%terior, se utilizeaz
capacitile mari de calcul i prelucrare analitic ale MATLAB, i se e%port rezultatele napoi n
baza de date sau n alt baz de date&
1ealizarea acestor operaiuni se face astfel' toolbo%!ul (atabase conecteaz MATLAB la o
baz de date utiliz:nd funciile MATLABX datele sunt preluate de la baza de date ca i caractere,
sunt transformate n tipuri de date corespunztoare i sunt stocate n tablouri de tip celul& Kn acest
moment se pot folosi instrumentele MATLAB de lucru cu date& /e pot include funciile toolbo%!
ului n fiiere M!files& 5entru e%portul datelor se utilizeaz n final funciile specializate MATLAB&
Toolbo%!ul (atabase este furnizat mpreun cu interfaa grafic Disual Zuer# Builder "DZB$&
N.;. Too(%o2.'( )e Procesare a e$na(e(or 0#/na( Process#n/ Too(%o21
Toolbo%!ul de 5rocesare a /emnalelor este o colecie de instrumente construit n mediul de
calcul numeric MATLAB& Toolbo%!ul permite o mare arietate de operaii de prelucrare a
semnalelor, de la forme de und la proiectarea filtrelor, modelare parametric i la analiza spectral&
Toolbo%!ul furnizeaz dou categorii de instrumente'
P -uncii de prelucrare a semnalelor de la linia de comand
P +ntefee grafice utilizator pentru'
! 5roiectarea interacti a filtrelor
! Trasarea i analiza semnalelor
! Analiz spectral
! Aplicarea de filtre semnalelor
! Analiza filtrelor
N.=. Too(%o2.'( 5P B(ockset
/etul de blocuri de procesare numeric a semnalelor "(/5 BlocHset$ este o colecie de
biblioteci de blocuri care se utilizeaz cu pac.etul /imulinH&
Bibliotecile (/5 BlocHset sunt proiectate special pentru prelucrarea numeric a semnalelor i includ
faciliti cum ar fi filtrarea clasic, adapti, manipulri de matrici, algebr liniar, statistic, etc&
(/5 BlocHset e%tinde mediul /imulinH prin furnizarea de componente i algoritmi pentru
sistemele (/5& -aciliti'
d 4peraiuni bazate pe cadre
d /uport matriceal
;G
d -iltrare adapti i cu eantionare multipl
d 4peraiuni statistice
d Algebr liniar
d <stimarea parametrilor
d -aciliti de timp real
N.I. Too(%o2.'( 4#nan-e 04#nanc#a( Too(%o21
MATLAB!ul mpreun cu toolbo%!ul de -inane furnizeaz un mediu de calcul integrat i
complet pentru analiz i inginerie financiar& Toolbo%!ul dispune de instrumente de analiz
matematic i statistic a datelor financiare i instrumente de prezentare grafic a rezultatelor
obinute&
-aciliti'
d 7alcul i analiz de pre i de producie
d 1ealizeaz analize enituri, preuri etc& compatibile /+A "/ecurities +ndustr# Association$
d Analiza i managementul portofoliilor
d 5roiectarea i ealuarea de strategii financiare
d +dentificarea, msurarea i controlul riscului
d Analiza i calculul flu%ului de cas.
d Analiza i predicia actiitii economice
d 7rearea de instrumente financiare structurate
d 7ercetare academic
N.J. Too(%o2.'( )e Procesare a I$a/#n#(or 0I$a/e Process#n/ Too(%o21
Toolbo%!ul +mage 5rocessing este o colecie de funcii care e%tind posibilitile MATLAB din
domeniul prelucrrii imaginilor& Toolbo%!ul dispune de o mare arietate de operaiuni de prelucrare
a imaginilor, cum ar fi'
d 4peraii geometrice
d 4peraii de tip ecintate
d -iltrare liniar i proiectarea filtrelor
d Transformate
d Analiza i mbuntirea imaginilor
d 4peraii binare
d 4peraii asupra regiunii de interes
Multe dintre funciile toolbo%!ului sunt fiiere M!files care constau n instruciuni MATLAB
care implementeaz algoritmi specializai de prelucrare a imaginilor& Aceste instruciuni pot fi
izualizate cu comanda cunoscut'
type function_name
5osibilitile toolbo%!ului pot fi e%tinse prin crearea de fiiere proprii prin utilizarea funciilor
disponibile n combinaie cu alte toolbo%!uri cum ar fi /ignal 5rocessing Toolbo% i Iaelet
Toolbo%&
N.L. Too(%o2.'( 6+t#$#Dare 06+t#$#Dat#on Too(%o21
Acest toolbo% este o colecie de funcii care includ rutine pentru o mare diersitate de
optimizri'
d Minimizare neliniar fr constr:ngeri
d Minimizare neliniar cu constr:ngeri, inclusi probleme de tip minima% i probleme de
minimizare semi!infinit
d 5rogramare liniar i ptratic
d Algoritmi neliniari de tipul celor mai mici ptrate
d 1ezolarea de sisteme de ecuaii neliniare
/unt disponibili i algoritmi specializai pentru sisteme mari "large!scale problems$& -unciile
toolbo%!ului pot fi utilizate n combinaie cu alte toolbo%!uri sau cu /imulinH&
N.N. Too(%o2.'( +entr' #ste$e )e P'tere 0Po@er Aste$ B(ockset1
/istemele electrice de putere sunt combinaii de circuite electrice i de aparate electro!mecanice
cum ar fi motoarele i generatoarele& +nginerii care lucreaz n acest domeniu trebuie s
;8
mbunteasc performanele sistemelor de putere& 7erinele de cretere drastic a eficienei au
determinat proiectanii s foloseasc aparatur electronic i sisteme sofisticate de conducere care
necesit instrumente de analiz i proiectare corespunztoare, fiind absolut necesar nelegerea
fenomenelor "neliniare$ prin simulare&
5o0er /#stem BlocHset a fost proiectat pentru furnizarea unor instrumente de proiectare care
permit inginerilor s construiasc rapid i uor modele care simuleaz sistemele de putere& Blocurile
utilizeaz mediul /imulinH i permit construirea unui model cu proceduri simple de tip click and
drag& /e poate trasa rapid topologia circuitelor electrice i de asemenea se poate face o analiz a
circuitelor care include interaciunile cu sistemele mecanice, termice, de control&
Bibliotecile conin modele ale aparaturii tipice pentru sistemele de putere, cum ar fi
transformatoare, linii electrice, motoare, electronic de putere etc& 5osibilitile toolbo%!ului pot fi
testate prin rularea fiierelor demonstratie&
N.1Q. Too(%o2.'( tate,(o@ 05#a/ra$e )e stare1
/tateflo0 este un produs multiplatform, care poate rula pe sisteme Microsoft Iindo0s M8,
Iindo0s ,T i *,+J, i care necesit MATLAB F /imulinH&
/tateflo0 este un instrument grafic de proiectare i dezoltare pentru sisteme de conducere
comple%e i pentru sisteme logice de superizare& 7u ajutorul acestui toolbo% se pot genera modele
sub forma unor diagrame de stare dinamice ale unui sistem& )enerarea de cod pentru elementele
/imulinH ale unui model /tateflo0 necesit pac.etul suplimentar al /imulinH!ului 1eal!Time
IorHs.op&
N.11. Too(%o2.'( )e tat#st#c> 0tat#st#cs Too(%o21
Toolbo%!ul de /tatistic dispune de instrumente care permit e%ecutarea de sarcini statistice
uzuale, de la generarea de numere aleatoare p:n la proiectarea de e%perimente statistice i
controlul proceselor statistice&
<%ist dou categorii de instrumente'
d 7onstrucia de funcii statistice i probabilistice
d +nstrumente grafice interactie
5rima categorie const n funcii care pot fi apelate din linia de comand sau din aplicaii
proprii&
A doua categorie const n instrumente interactie care permit accesul la funcii prin
intermediul unei interfee grafice utilizator ")*+$, care furnizeaz un mediu adecat pentru funcii
de predicie, interpolare, probabilistice etc&
N.13. Too(%o2.'( +entr' Ca(c'( #$%o(#c 0A$%o(#c Math Too(%o21
Acest toolbo% completeaz facilitile grafice i numerice ale MATLAB!ului cu dierse alte
tipuri de faciliti matematice, care permit efectuarea de calcule simbolice&
Maina de calcul utilizat este nucleul de la Maple& <%ist de fapt dou toolbo%!uri' unul de
baz, care este o colecie de peste o sut de funcii MATLAB care permit accesul la Maple, i un
toolbo% e%tins care permite accesul e%tins la multiple pac.ete Maple "non!grafice, faciliti de
programare, proceduri utilizator etc&$
;3
-aciliti'
o 7alcul matematic' (iferenieri, integrri, limite, sume, serii Ta#lor
o Algebr liniar' +nerse, determinani, alori proprii, forme canonice
ale matricilor
o /implificri' Metode de simplificare a e%presiilor algebrice
o /oluionarea ecuaiilor' /oluii simbolice i numerice ale ecuaiilor algebrice i
difereniale
o Aritmetic cu precizie
ariabil' <aluarea numeric a e%presiilor matematice cu precizie
specificat
o Transformri' -ourier, Laplace, Transformarea z i inersele lor
o -uncii matematice
speciale' -uncii speciale ale matematicilor aplicate clasice
1Q. PAC*ET!L 5E M65ELARE FI IM!LARE IM!LIN"
IM!LIN" este un pac.et soft0are pentru modelarea. simularea -i analiza sistemelor
dinamice& 5ot fi modelate sisteme liniare i neliniare, continue, discrete, .ibride, cu mai multe
perioade de eantionare&
/+M*L+,> furnizeaz o interfa grafic utilizator ")*+$ pentru crearea modelelor sub
forma unor diagrame construite din blocuri, pe baza unor te.nici de tip click-and-drag realizate
cu mouse!ul& Astfel, trasarea diagramelor este simpl i intuiti, aproape la fel de simpl ca
trasarea acestor diagrame direct pe .:rtie& Kn plus, se eit formularea matematic laborioas
"sistemele dinamice sunt de regul descrise de ecuaii difereniale sau cu diferene$&
/+M*L+,> dispune de o bibliotec ast de surse, receptoare, componente liniare i
neliniare, conectori etc& pe baza crora se pot trasa diagrame i construi blocuri proprii&
Modelele realizate n /+M*L+,> sunt ierar.ice& /e poate izualiza modelul de niel
nalt, iar la efectuarea unui dublu clicH pe blocul respecti se coboar niel dup niel astfel
nc:t se pot obsera toate detaliile de construcie i de organizare ale modelului&
(up crearea unui model se pot realiza simulri apel:nd la dierse metode de integrare
din meniurile /+M*L+,> i2sau utiliz:nd comenzi MATLAB& 5rin utilizarea unor blocuri de tip
osciloscop sau dierse dispozitie de afiare se pot obsera rezultatele c.iar n timpul simulrii&
(e asemenea se pot sc.imba alorile unor parametri i se poate obsera imediat efectul acestor
modificri& 1ezultatele obinute se pot transporta n 0orHspace!ul MATLAB pentru prelucrri i
izualizri ulterioare&
1Q.1. R'(area 'n'# $o)e( IM!LIN" )e$onstrat#8
R'(area $o)e('('#
5entru a analiza modul de lucru cu /+M*L+,> se poate apela la rularea unor programe
"modele$ demonstratie&
*nul din programele demo este modelul termodinamic al unei case& 5entru rularea
programului, trebuie parcuri urmtorii pai'
6& /e starteaz MATLAB&
;L
B& /e ruleaz demonstraia tast:nd thermo n fereastra de comand MATLAB sau se tasteaz
comanda demo i se alege programul demonstrati din meniul care apare& Aceste comenzi starteaz
/+M*L+,> i creeaz o fereastr model care conine modelul respecti&
La desc.iderea modelului "e%tensiile fiierelor /+M*L+,> sunt &mdl$ /+M*L+,>!ul desc.ide
un bloc de tip osciloscop cu dou ecrane "temperatur interioar2e%terioar ! +ndoor s& 4utdoor
Temp& i costul nclzirii ! 9eat 7ost "e$$&
C& 5entru startarea simulrii se actieaz meniul #$'(at#on i se alege comanda tart command
"sau se actieaz direct butonul tart din bara de instrumente$& 4 dat cu startarea simulrii sunt
plotate eoluiile temperaturii interioare i e%terioare, ca i costul cumulat al nclzirii&
G& 5entru oprirea simulrii se alege comanda to+ din meniul #$'(at#on "sau butonul Pa'se din
bara de instrumente$&

8& Atunci c:nd se dorete terminarea rulrii programului se nc.ide modelul aleg:nd C(ose din
meniul 4#(e&
5escr#erea $o)e('('#
5rogramul modeleaz sistemul termodinamic al unei case folosind o reprezentare simpl&
Temperatura de referin este setat la LE grade -a.ren.eit "apro%& B6 grade 7elsius$& Temperatura
din cas este influenat de temperatura e%terioar, care poate fi ariat sub form sinusoidal
"amplitudine 68 grade -, temperatura de baz 8E grade -$, ariaie care simuleaz fluctuaiile
temperaturii din e%terior din timpul zilei&
/unt utilizate subsisteme care fac modelul simplu i configurabil "un subsistem este un bloc
alctuit dintr!un grup de blocuri conectate$& Modelul conine 8 subsisteme' T.ermostat, 9ouse i
trei 7onertoare de temperatur "Temp 7onert$, din care B conertesc -a.ren.eit n 7elsius i unul
7elsius n -a.ren.eit&
<fectuarea unui dublu clicH pe blocul 9ouse permite izualizarea blocurilor componente ale
subsistemului&
;;
/ubsistemul T.ermostat este de tip releu i determin pornirea sau oprirea sistemului de
nclzire& /e pot edea blocurile componente la efectuarea unui dublu clicH pe subsistem&
/ubsistemele de conersie a temperaturii au o structur asemntoare'
A(te )e$onstra-##
(in fereastra bibliotecilor /+M*L+,> pot fi rulate i alte demonstraii care pun n eiden
dierse concepte i te.nici de modelare din dierse domenii& 5entru rularea din fereastra
bibliotecilor /+M*L+,> se procedeaz astfel'
6& /e tasteaz simulinF3 n fereastra de comand MATLABX a apare fereastra bibliotecilor
/+M*L+,>&
B& /e e%ecut dublu clicH pe icon!ul (emos& Da apare fereastra demo a MATLAB!ului, care
conine c:tea modele /+M*L+,> interesante&
1Q.3. Crearea $o)e(e(or IM!LIN"
Te.nica de creare a unor modele /+M*L+,> poate fi ilustrat cel mai bine prin e%emple&
Modelul prezentat n continuare integreaz un sinus i afieaz at:t rezultatul c:t i unda
sinusoidal de la intrare& /c.ema bloc a modelului este urmtoarea'
5entru a genera modelul se tasteaz mai nt:i simulinF n fereastra de comand MATLAB& 5e
sistemele de operare de tip Iindo0s a apare Bro4ser$ul bibliotecilor /+M*L+,>&
;M
5e sistemele *,+J, a apare "ereastra bibliotecilor /+M*L+,>&
5entru a genera un model nou pe sisteme *,+J se selecteaz Mo)e( din submeniul Ne@ al
meniului 4#(e& 5e sisteme Iindo0s se selecteaz butonul Ne@ Mo)e( din bara de instrumente a
Bro0ser!ului de Biblioteci&

/imulinH a desc.ide o fereastr pentru un model nou&
ME
5entru construcia modelului or fi necesare blocuri din urmtoarele biblioteci /imulinH'
Biblioteca de surse "blocul /ine Iae$
Biblioteca de receptoare "blocul /cope$
Biblioteca de sisteme continue "blocul +ntegrator$
Biblioteca /ignals R /#stems "blocul Mu%$
5entru copierea blocului /ine Iae se utilizeaz Bro0ser!ul de bibiloteci' nt:i se e%pandeaz
arborele de biblioteci "prin clicH pe nodul /imulinH i apoi clicH pe nodul surse$ astfel nc:t s fie
afiate blocurile din biblioteca de surse& Apoi se selecteaz blocul /ine Iae "clicH$&
-ereastra Bro0ser!ului de biblioteci a arta astfel'
La pasul urmtor se trage "in:nd apsat butonul din st:nga al mouse!ului$ blocul /ine Iae
din bro0ser i i se d drumul n fereastra modelului& /imulinH a face o copie a blocului /ine Iae
n punctul indicat&
/e poate proceda asemntor pentru copierea blocului /ine Iae din biblioteca de surse
desc.is din "ereastra de biblioteci /imulinH "pe sisteme Iindo0s se poate desc.ide fereastra de
biblioteci din Bro0ser prin clicH din butonul drept al mouse!ului i apoi clicH pe 6+en L#%rarA$&
M6
7a i n cazul utilizrii bro0ser!ului se trage blocul /ine Iae din biblioteca de surse n
fereastra modelului "drag and drop$'
/e procedeaz n mod asemntor i cu copierea celorlalte blocuri din bibliotecile
corespunztoare n fereastra modelului& /e poate deplasa cu uurin orice bloc prin tragerea cu
mouse!ul sau prin selectare i deplasare cu tastele sgei&
(up copierea tuturor blocurilor necesare n fereastra de lucru, modelul trebuie s arate ca n
figura urmtoare'
La o e%aminare atent a simbolurilor de reprezentare a blocurilor se or obsera sgei care
indic intrrile sau ieirile din blocuri' dac simbolul b este orientat spre ieirea blocului atunci
este un port de ieire "output port$ iar dac simbolul este ndreptat spre bloc este un port de intrare
"input port$& *n semnal circul de la un port de ieire al unui bloc spre un port de intrare al altui
bloc printr!o linie de conectare, Atunci c:nd blocurile sunt conectate, simbolurile porturilor dispar&
MB
5entru conectarea blocurilor se trece nt:i la conectarea blocului /ine Iae la prima intrare "de
sus$ a blocului Mu%& 5entru aceasta se poziioneaz pointerul mouse!ului deasupra portului de ieire
al blocului /ine Iae& Kn acest moment forma pointerului se sc.imb i deine de tip cruce
"cursor$&
/e ine apsat butonul st:nga al mouse!ului i se deplaseaz cursorul p:n la intrarea de sus a
blocului Mu%&
*rmeaz eliberarea butonului mouse!ului i se obser cum blocurile au fost conectate&
Kn afara liniilor care conecteaz ieirile unor blocuri la intrrile altora e%ist i linii de branare
a unor linii la intrrile unor blocuri "se poate obsera n modelul prezentat iniial$& 4 astfel de linie
este utilizat pentru conectarea ieirii din blocul /ine Iae i la blocul +ntegrator "e%ist deja
cone%iunea la blocul Mu%$&
5entru a efectua aceast cone%iune se procedeaz astfel'
6& /e poziioneaz pointerul pe linia dintre blocurile /ine Iae i Mu%&
B& /e apas i se ine apsat tasta Ctr(& /e apas butonul mouse!ului i apoi se trage p:n la
intrarea n blocul +ntegrator sau p:n deasupra acestui bloc&
MC
C& /e elibereaz butonul mouse!ului i se obser cum apare o linie de branare p:n la portul de
intrare n blocul +ntegrator&
/e procedeaz conform indicaiilor i se efectueaz toate conectrile necesare& Modelul a
trebui s arate n final astfel'
1Q.9. R'(area s#$'(>r#(or ?n IM!LIN"
(up nc.eierea procedurii de construcie a modelului, trebuie rulat o simulare pentru
aprecierea corectitudinii modelului i pentru obinerea rezultatelor cerute&
5entru aceasta se desc.ide mai nt:i blocul osciloscopului "/cope$, pentru a izualiza eoluia
mrimilor modelului& 5str:nd fereastra osciloscopului desc.is se a seta /imulinH pentru rularea
unei simulri timp de 6E secunde& 5entru aceasta, parcurgem urmtorii pai'
6& /etm parametrii simulrii prin alegerea submeniului Para$eters din meniul #$'(at#on& Kn
fereastra de dialog care apare om seta parametrul to+ t#$e la 6E&E "aloare implicit$&
B& Knc.idem fereastra de dialog #$'(at#on Para$eters prin clicH pe butonul 6k& /imulinH a
aplica parametrii i a nc.ide fereastra de dialog&
MG
C& /e selecteaz tart din meniul #$'(at#on i se obser curbele afiate n fereastra
osciloscopului&
G& /imularea se a opri atunci c:nd se ajunge la finalul timpului de rulare indicat n fereastra de
dialog #$'(at#on Para$eters sau la selectarea opiunii to+ din meniul #$'(at#on "sau din bara
de instrumente$&
5entru salarea modelului se alege a8e din meniul 4#(e i se introduce un nume de fiier i se
alege directorul unde dorim s salm modelul "fiierul a aea automat e%tensia &mdl$&
5entru nc.eierea lucrului se selecteaz E2#t MATLAB sau se tasteaz Auit n fereastra de
comand a MATLAB!ului&
1Q.;. Mo)'( )e ('cr' a( 'n'# +ro/ra$ IM!LIN"
-iecare bloc dintr!un model /imulinH are urmtoarele caracteristici generale' un ector de
intrare, u, un ector de ieire, y, i un ector de stare, x'

Dectorul de stare poate consta din stri continue, stri discrete sau combinaii ale acestora&
1elaiile matematice dintre aceste mrimi "intrri, ieiri, stri$ sunt e%primate prin ecuaii de tipul'

=
=
=
=
+
k
k
d
c
d c
u d
x
x
x unde
derivata 8 u , x , t 7 ) x
e actualizar 8 u , x , t 7 ) x
iesirea 8 u , x , t 7 ) y
6
E
/imularea const n dou faze' iniializare i simulare propriu!zis&
-aza de iniializare nseamn parcurgerea urmtoarelor etape'
6& Blocul parametrilor este trecut n MATLAB pentru ealuare& Dalorile numerice rezultate
sunt folosite ca parametri actuali "cureni$&
B& <ste parcurs ierar.ia modelului& -iecare subsistem care nu este un subsistem e%ecutat
condiionat este nlocuit prin blocurile componente&
C& Blocurile sunt sortate n ordinea n care este necesar actualizarea lor& Algoritmul de sortare
ntocmete o list astfel nc:t orice bloc nu este actualizat p:n c:nd blocurile care furnizeaz
intrrile acestuia nu sunt actualizate& Kn timpul derulrii acestei etape sunt detectate buclele
algebrice&
G& 7one%iunile dintre blocuri sunt erificate pentru asigurarea compatibilitii ieire!intrare&
M8
*rmeaz faza de simulare propriu!zis& Modelul este simulat prin integrare numeric& 7alculul
deriatelor se face n doi pai& 5rima dat ieirea fiecrui bloc este calculat n ordinea determinat
de algoritmul de sortare& La al doilea pas, pentru fiecare bloc se calculeaz deriatele n funcie de
timp, intrri i stri& Dectorul deriatelor rezultat este returnat algoritmului de rezolare de tip 4(<,
care l utilizeaz pentru calculul noului ector de stare pentru momentul de timp urmtor& 4 dat ce
noul ector de stare este calculat, blocurile sunt actualizate&
BIBLI6GRA4IE
6& +onete 7&, /eliteanu (&, 5etrior A& = 2roiectarea sistemic# asistat# de calculator @n
'-(0-B, 1eprografia *niersitii din 7raioa, 6MM8&
B& Leonard ,&<&, Leine I&/ = 1sing '-(0-B to analyze and design .ontrol &ystems,
Addison!Iesle# 5ubl&, /*A, 6MM8&
C& Marc.and 5& = +raphics and +1/s Aith '-(0-B, 717 5ress, /*A, 6MMM&
G& QQQ = '-(0-B 1serBs +uide, T.e Mat.0orHs +nc&, /*A, BEEE&
C!PRIN
CAP. 1. PREZENTARE GENERAL 6
CAP. 3. 4!N5AMENTELE PR6GRAMRII 7N MATLAB 8
B&6& <%presii fundamentale 8
B&B& 9elp on!line, formatul datelor, opiuni de salare ;
B&C& 7rearea fiierelor MATLAB "&m files$ 6B
B&G& Matrici, ectori i polinoame 6L
B&8& 4peraiuni elementare cu matrici i funcii BC
CAP. 9. ME5I!L 5E L!CR! MATLAB B8
C&6& /tartul i terminarea sesiunilor de lucru B8
C&B& -ereastra de comand "fereastra principal$ BL
C&B&6& <ditarea liniilor de comand n fereastra principal BL
C&B&B& (escrierea ferestrei de comand BM
C&B&C& /paiul de lucru al MATLAB!ului "0orHspace$ CB
C&B&G& 7i de cutare CG
C&C& -ereastra grafic "figure$ C3
C&G& +mportul :# e2+ort'( )e )ate 9L
C&8& *tilizarea memoriei GB
CAP. ;. E5IT6R!LE5EB!GGER.!L FI PR64ILER.!L MATLAB GC
G&6& <ditorul2(ebugger!ul MATLAB GC
G&B& 5rofiler!ul MATLAB 86
CAP. =. MATRICI, ALGEBR LINIAR, P6LIN6AME,
TE*NICI 5E INTERP6LARE 83
8&6& Matricile n MATLAB 83
8&B& 1ezolarea ecuaiilor liniare 8;
8&C& +nerse i determinani 3E
8&G& -uncii de matrice& Dalori proprii 36
M3
8&8& 1eprezentarea polinoamelor& +nterpolarea 3C
CAP. I. REPREZENTAREA 4!NCIIL6R. EC!AII 5I4ERENIALE 3M
3&6& 1eprezentarea i plotarea funciilor matematice 3M
3&B& Minimizarea funciilor i gsirea zerourilor L6
3&C& +ntegrarea numeric LC
3&G& 1ezolarea ecuaiilor difereniale L8
CAP. J. PR6GRAMAREA 7N LIMBAK!L MATLAB L;
L&6& -iiere MATLAB L;
L&B& Tipuri de date i operatori ;E
L&C& +nstruciuni de salt i bucle ;G
L&G& <aluarea datelor de tip caracter ;8
L&8& 1eprezentarea i manipularea informaiilor despre dat i timp ;3
L&3& +ntrri utilizator ;3
CAP. L. GRA4ICE FI INTER4EE GRA4ICE 7N MATLAB ;L
;&6& Te.nici de plotare ;L
;&6&6& 5lotri B ( elementare ;;
;&6&B& )rafice B ( specializate M3
;&6&C& 5lotri tridimensionale "C ($ 6E6
;&B& 9andle )rap.ics i +nterfee )rafice n MATLAB ")*+$ 6E8
;&B&6& )raficele priite ca obiecte& +erar.ia obiectelor 6E8
;&B&B& 5roprietile obiectelor grafice 6EM
;&B&C& -uncii de generare a obiectelor grafice 66E
CAP. N. PREZENTAREA T66LB6O.!RIL6R MATLAB 66B
M&6& Toolbo%!ul 7omunicaii "7ommunications Toolbo%$ 66B
M&B& Toolbo%!ul pentru /isteme de 7onducere Automat
"7ontrol /#stem$ 66B
M&C& Toolbo%!ul pentru Baze de (ate "(atabase Toolbo%$ 66C
M&G& Toolbo%!ul de 5rocesare a /emnalelor
"/ignal 5rocessing Toolbo%$ 66C
M&8& Toolbo%!ul (/5 BlocHset 66C
M&3& Toolbo%!ul -inane "-inancial Toolbo%$ 66G
M&L& Toolbo%!ul de 5rocesare a +maginilor
"+mage 5rocessing Toolbo%$ 66G
M&;& Toolbo%!ul 4ptimizare "4ptimization Toolbo%$ 66G
M&M& Toolbo%!ul pentru /isteme de 5utere "5o0er /#stem BlocHset$ 668
M&6E& Toolbo%!ul /tateflo0 "(iagrame de stare$ 668
M&66& Toolbo%!ul de /tatistic "/tatistics Toolbo%$ 663
M&6B& Toolbo%!ul pentru 7alcul /imbolic "/#mbolic Mat. Toolbo%$ 663
CAP. 1Q. PAC*ET!L 5E M65ELARE FI IM!LARE IM!LIN" 66L
6E&6& 1ularea unui model /+M*L+,> demonstrati 66L
6E&B& 7rearea modelelor /+M*L+,> 6BE
6E&C& 1ularea simulrilor n /+M*L+,> 6B8
6E&G& Modul de lucru al unui program /+M*L+,> 6BL
BIBLI6GRA4IE ML
ML

Você também pode gostar