Sunteți pe pagina 1din 16

Facultatea de Energetica

10
Laboratorul nr.1
Sisteme de Programare pentru Modelare si
Simulare
Adrian Stan


2 Laboratorul nr.1
INTRODUCERE N MATLAB
-parte teoretica-
1. Ce este MATLAB
MATLAB este un pachet de programe de nalt performan, dedicat calculului numeric i
reprezentrilor grafice n domeniul tiinei i ingineriei.
El integreaz analiza numeric, calculul matriceal, procesarea semnalului i reprezentrile grafice,
ntr-un mediu uor de nvat i folosit, n care enunurile problemelor i rezolvrile acestora sunt
exprimate n modul cel mai natural posibil, aa cum sunt scrise matematic, fr a fi necesar
programarea tradiional. Elementul de baz cu care opereaz MATLAB-ul este matricea. Cu acesta
se pot rezolva probleme fr a fi necesar scrierea unui program ntr-un limbaj de programare.
Dezvoltat de-a lungul mai multor ani, acum MATLAB-ul este un standard n mediile universitare,
precum i n domeniile cercetrii i rezolvrii practice a problemelor legate de procesarea
semnalelor, identificarea sistemelor, controlul statistic, prelucrarea datelor experimentale etc.
2. Structura sistemului MATLAB
Structura sistemului MATLAB const n cinci pri principale:
Mediul de dezvoltare. Acesta este alctuit dintr-un set de unelte care faciliteaz folosirea funciilor i
fiierelor MATLAB. Multe dintre acestea reprezint de fapt interfeele grafice i includ fereastra
principal MATLAB sau MATLAB Desktop, fereastra de comenzi sau Command Window, fereastra ce
memoreaz istoria comenzilor sau Command History, i browser-ele de Help, Workspace, Files,
Search Path etc.
Biblioteca de funcii matematice MATLAB. Aceasta const ntr-o vast colecie de algoritmi de calcul,
pornind de la funcii elementare precum sum, sinus, cosinus i aritmetic complex, pan la funcii
mai sofisticate precum inversare de matrici, calcul de valori proprii, funcii Bessel, i transformata
Fourier.
Limbajul MATLAB. Limbajul MATLAB este un limbaj matrice/vector de nalt nivel ce include
instruciuni de control al buclelor, funcii, structuri de date, comenzi de intrare/ieire i instruciuni
de programare orientat pe obiecte. Limbajul MATLAB permite att programarea superficial
pentru crearea rapid a unor mici programe de calcul specifice, ct i "programarea n detaliu" n
vederea dezvoltrii unor programe complexe de nivel superior.
Handle Graphics. Handle Graphics reprezint sistemul de grafic MATLAB i include att comenzi de
nalt nivel pentru vizualizarea 2D i 3D a datelor, procesare de imagini, animaie i grafic, ct i
comenzi de jos nivel ce permit personalizarea complet a reprezentrilor grafice i construirea
integral a interfeelor grafice (GUI) pentru aplicaiile MATLAB.
MATLAB Application Program Interface (API). Aceasta este o bibliotec ce permite scrierea
programelor C i Fortran ce interacioneaz cu MATLAB. Biblioteca conine facilitai de apel de
subrutine din MATLAB (dynamic linking), de apelare a MATLAB-ul ca pe o main de calcul, i de
citire i scriere de fiiere MAT-files.
3. Ferestrele de lucru MATLAB

3 Laboratorul nr.1
Fereastra principal MATLAB (MATLAB Desktop). Dup lansarea programului MATLAB, n prim plan
apare fereastra principal MATLAB, ce conine unelte de control al directoarelor, fiierelor,
variabilelor i al aplicaiilor asociate MATLAB-ului.

Urmtoarele ferestre sunt supervizate de MATLAB Desktop, dei nu toate apar implicit dup lansare:
Fereastra de comenzi (Command Window), permite lansarea comenzilor MATLAB;
Fereastra Command History, permite memorarea, vizualizarea, editarea i relansarea
funciilor lansate anterior n Command Window.
Fereastra Launch Pad, permite lansarea uneltelor i accesarea documentaiei MATLAB
Fereastra Current Directory Browser, permite controlul asupra fiierelor MATLAB i a celor
asociate
Fereastra Help Browser, permite vizualizarea i cutarea documentaiei MATLAB
Fereastra Workspace Browser permite vizualizarea i schimbarea coninutului spaiului de
lucru
Fereastra Array Editor permite editarea i vizualizarea coninutului variabilelor ntr-un
format tabelar
Fereastra Editor/Debugger permite crearea, editarea i depanarea fiierelor M-files ce
conin funcii MATLAB.
Command Window. Command Window este fereastra principal de comunicare a utilizatorului cu
programul MATLAB. Aceast fereastr permite lansare de funcii i efectuarea de operaii MATLAB.
Pentru vizualizarea ferestrei se selecteaz Command Window din meniul View.

4 Laboratorul nr.1

Command History. Fereastra Command History apare cnd lansai MATLAB. Fereastra Command
History afieaz o list a funciilor lansate recent n Command Window.

Afiarea funciilor n Command History Window. Lista de comenzi afiate n Command History
include att funcii din sesiunea curenta ct i funcii din sesiuni anterioare. Ora i data pentru
fiecare sesiune apare n partea superioara a listei de funcii aferente acelei sesiuni de lucru. Folosii
scroll-bar-ul sau sgeile up i down pentru a naviga n fereastra Command History. Fiierul specific
uneltei Command History este history.m. Tastai prefdir n Command Window pentru a vedea locaia
acestui fiier. Fiierul history.m este ncrcat odat cu lansarea programului MATLAB i suprascris
cnd ieii din MATLAB.
tergerea funciilor din Command History Window. Se recomand tergerea funciilor din Command
History Window cnd se strng prea multe i navigarea devine dificil. Toate funciile sunt
nregistrate pn cnd alegei opiunea de a le terge. Pentru a terge o funcie, selectai funcia sau
folosii Shift+clic sau Ctrl+clic pentru a selecta mai multe, sau folosii Ctrl+A pentru a le selecta pe
toate. Apoi clic-dreapta i selectai una dintre opiunile de tergere din meniul contextual:
Delete Selection terge funcia selectat
Delete to Selection terge toate funciile anterioare pn la cea selectat
Delete Entire History terge toate funciile din Command History Window

5 Laboratorul nr.1
O alt cale de tergerea a ntregii liste de funcii const n selectarea comenzii Clear Command
History din meniul Edit.
Lansarea funciilor din Command History Window. Dublu-clic pe orice funcie din Command History
Window pentru a executa acea funcie. De exemplu, dublu-clic pe edit myfile pentru a deschide
fiierul myfile.m n Editor. Putei deasemenea lansa o funcie cu clic-dreapta pe funcie i selectnd
Evaluate Selection din meniul contextual, sau copiind funcia n Command Window.
Copierea funciilor din Command History Window. Selectai o funcie, sau cu Shift+clic sau Ctrl+clic
selectai mai multe funcii, sau folosii Ctrl+A pentru a selecta toate funciile. Apoi putei executa
urmtoarele comenzi.
Launch Pad. Fereasta Launch Pad din MATLAB permite accesul uor la unelte, demo-uri, i
documentaia produselor MathWorks. Pentru lansare selectai Launch Pad din meniul View din
MATLAB Desktop. ndat sunt listate toate produsele MathWorks instalate pe sistemul dvs.

Current Directory Browser. Pentru a cuta, vizualiza, deschide, i pentru a modifica directoare i
fiiere asociate MATLAB-ului, folosii Current Directory browser. Pentru a deschide Current Directory
browser, selectai Current Directory din meniul View din MATLAB Desktop, sau tastai filebrowser la
promptul Command Window.


6 Laboratorul nr.1
Principalele operaiuni cu directoare i fiiere ce pot fi efectuate folosind Current Directory browser
sunt operaiuni ce folosesc meniurile grafice tip windows, respectiv meniurile contextuale, i anume:
vizualizarea i modificarea directoarelor,
crearea, redenumirea, copierea i tergerea directoarelor i fiierelor,
deschiderea fiierelor,
lansarea i vizualizarea coninutului fiierelor,
cutarea i nlocuirea coninutului fiierelor.
Help Browser. Se folosete Help browser pentru cutarea i vizualizarea documentaiei MATLAB i
produsele MathWorks. Help browser este un Web browser integrat n MATLAB Desktop care
afieaz documente HTML.

Help browser conine dou paneluri:
Panelul Help Navigator din stnga, care se folosete pentru cutarea informaiei. Acesta
include un filtru Product Filter i ferestrele Contents, Index, Search, i Favorites.
Panelul display din dreapta, folosit pentru vizualizarea documentaiei.
Proprietile specifice ferestrei Help Browser pot fi modificate selectnd Preferences din meniul File
al ferestrei MATLAB Desktop. Cutia de dialog se deschide i permite selectarea opiunii Help n urma
creia se deschide fereastra Help Preferences pentru modificarea proprietilor ferestrei Help
Browser. Se pot modifica caracteristicile fontului folosit n ferestrele Help Browser, se poate selecta
locaia documentaiei, etc.
Workspace Browser. Folosii Workspace browser pentru executare de operaiuni n spaiul de lucru
MATLAB.

7 Laboratorul nr.1

Printre operaiunile ce pot fi executate din Workspace browser sunt:
vizualizarea Current Workspace
salvarea Current Workspace
ncrcarea Saved Workspace
tergerea Workspace Variables
crearea graficelor din Workspace Browser
vizualizarea i editarea Workspace Variables folosind Array Editor
Proprietile specifice ferestrei Workspace Browser pot fi modificate selectnd Preferences din
meniul File al ferestrei MATLAB Desktop. Cutia de dialog se deschide i permite selectarea opiunii
Workspace n urma creia se deschide fereastra Workspace Preferences pentru modificarea
proprietilor ferestrei Workspace. Se pot modifica caracteristicile fontului folosit n Workspace
browser i se poate opiona pentru afiarea unei csue de dialog de confirmare a tergerii
variabilelor.
Array Editor. Array Editor se folosete pentru afiarea i editarea unei reprezentri vizuale 1D i 2D a
vectorilor de tip numere, iruri de caractere etc. Pentru a lansa Array Editor din Workspace browser
se selecteaz n Workspace browser variabila pe care dorii s o afiai (Shift+clic sau Ctrl+clic pentru
a selecta mai multe variabile). Clicai pe butonul open de pe toolbar, sau clic-dreapta i selectai
Open Selection din meniul contextual. Alternativ, n cazul unei singure variabile, putei face dublu-
clic pe aceasta pentru a o deschide. Array Editor se lanseaz, afind valorile variabilelor selectate.
Nu putei deschide un vector cu 10,000 elemente sau mai multe.
Pentru a afia coninutul unei variabile n workspace, tastai numele variabilei la promptul Command
Window.
Pentru a afia o variabil n Array Editor, folosii funcia openvar('nume_variabila') tastat la linia de
comand a ferestrei Command Window i avnd ca argument numele variabilei pe care dorii s o
afiai.

8 Laboratorul nr.1

Editor/Debugger. Fereastra Editor/Debugger a MATLAB-ului pune la dispoziie o interfa grafic cu
utilizatorul ce permite editarea elementara de text i depanarea (debugging) oricrui tip de fiier M-
file. Editor/Debugger este o unealt care se poate folosi pentru editare, debugging sau ambele.
4. Structura programelor MATLAB
MATLAB lucreaza fie in modul linie de comanda, caz in care fiecare linie este prelucrata imediat si
rezultatele sunt afisate, fie utilizand programe scrise in fisiere. Fisierele care contin instructiuni
MATLAB se numesc fisiere M sau M-files, intrucat au extensia .m. Un fisier M poate fi de doua tipuri,
script sau functie. Ambele tipuri de fisiere sunt scrise in format ASCII, iar algoritmul implementat
poate fi urmarit si modificat cu usurinta daca se cunosc conventiile si sintaxa limbajului de
programare MATLAB. Aceste tipuri de fisiere M permit crearea unor noi functii care le pot completa
pe cele existente. Astfel MATLAB poate fi extins, permitand abordarea anumitor aplicatii specifice
din stiinta si inginerie.
4.1. Fisierele script
Fisierele script sunt fisiere externe de tip text care contin secvente de comenzi MATLAB. Prin
apelarea numelui fisierului, se executa secventele de comenzi MATLAB continute in fisier. Dupa
executia completa a unui fisier script variabilele cu care acesta a operat raman in workspace. Aceste
fisiere nu permit integrarea in programe mari, realizate pe principiul modularizarii. Fisierele script
pot fi folosite la rezolvarea unor probleme care necesita un numar relativ mare de instructiuni a
caror lansare la linia de comanda ar deveni greoaie.
4.2. Fisierele functie
In cazul in care prima linie a unui fisier M contine cuvantul cheie function fisierul respectiv intra in
categoria fisierelor de tip functie. Un fisier de tip functie difera de un fisier de tip script prin faptul ca
accepta argumente de intrare. Astfel, la terminarea executiei unei functii, in memoria calculatorului
nu raman decat variabilele de iesire ale functiei respective. Forma generala a primei linii a unui fisier
functie este:
function [par_iesire] = nume_functie(par_intrare)
unde :
function reprezinta un cuvant cheie obligatoriu care declara ca fisierul este de tip functie
nume_functie reprezinta numele functiei, adica numele sub care este salvat fisierul, insa fara
extensie. Numele functiei nu poate fi identic cu cel al unui fisier M pre-existent.

9 Laboratorul nr.1
par_iesire1, par_iesire2 reprezinta parametri de iesire care trebuiesc separati prin virgula si
cuprinsi intre paranteze drepte. Daca functia nu are parametri de iesire parantezele drepte si
semnul egal nu mai au sens.
par_intrare1, par_intrare2 reprezinta parametri de intrare care trebuiesc separati prin
virgula si cuprinsi intre paranteze rotunde. Daca functia nu are parametri de intrare
parantezele rotunde nu mai au sens.
Fisierele functie pot fi adaugate ca functii noi in structura MATLAB. Instructiunile si comenzile
utilizate de noua functie sunt inregistrate intr-un fisier cu extensia .m. De pilda fisierul de tip functie
avand numele medie.m calculeaza media aritmetica a elementelor unui vector si are sintaxa de mai
jos:
function m = medie (x)
n = length (x)
m = sum (x)/n
y = [Media numerelor este: num2str(m)];
disp(y)
5. Includerea comentariilor si a help-ului intr-un program
Introducerea unui comentariu intr-un program se realizeaza prin adaugarea caracterului procent (%)
plasat la inceputul liniei. Daca semnul procent (%) apare pe prima pozitie intr-o linie, aceasta va fi
omisa de compilator, iar daca apare in oricare alta pozitie intr-o linie de program, partea de program
care urmeaza dupa acest caracter va fi omisa. Intr-un program un comentariu poate aparea in
oricare pozitie insa este recomandata prezenta unui comentariu dupa prima linie care declara o
functie. In acest caz, comentariul care apare imediat dupa linia de declarare a functiei, constituie
help-ul fisierului respectiv. Daca se apeleaza : help nume_functie se afiseaza liniile care incep cu
semnul procent si sunt situate intre prima linie dupa declararea functiei si prima linie libera sau
prima instructiune ce urmeaza acestui grup compact de linii.
Prin urmare pentru a atasa un help unui program MATLAB se scriu liniile de program incepand cu
semnul procent (%) si sunt situate intre prima linie dupa declararea functiei si prima linie libera sau
prima instructiune ce urmeaza acestui grup compact de linii.
6. Crearea, editarea si depanarea fisierelor M
Exista mai multe metode de creare, editare si depanare a fisierelor M, dupa cum este prezentat in
tabelul de mai jos.
Functie Metoda
Crearea si editarea fisierelor M Folosind MATLAB Editor
Folosind MATLAB Editor de sine statator fara a lansa MATLAB
Folosind oricare editor de text, cum ar fi Notepad, WordPad, etc.
Depanarea fisierelor M Folosind instructiunile generale de depanare
Folosind MATLAB Debugger
Folosind MATLAB Debugging Functions


10 Laboratorul nr.1
6.1 Crearea si editarea fisierelor M folosind MATLAB Editor.
Crearea si editarea fisierelor M poate fi efectuata eficient folosind MATLAB Editor. MATLAB Editor
pune la dispozitia utilizatorului o interfata grafica performanta de editare clasica de text. Aceasta
aplicatie poate fi folosita atat in cadrul MATLAB-ului, cat si ca o aplicatie de sine statatoare fara a
necesita neaparat lansarea pachetului de programe MATLAB. In afara functiilor de editare obisnuite,
MATLAB Editor prezinta si functii specifice cum ar fi:
Functie Mod de lucru

Transformarea unor linii de cod in comentarii sau
a unor comentarii in linii de cod prin adaugarea
sau eliminarea simbolului %

Se selecteaza liniile respective in MATLAB Editor
si apoi fie se selecteaza meniul Text ->
Comment/Uncomment fie se apasa Ctrl+R/Ctrl+T
fie se selecteaza Comment/Uncomment din
meniul contextual
Alinierea inteligenta a instructiunilor

Se selecteaza liniile respective in MATLAB Editor
si apoi fie se selecteaza meniul Text -> Smart
Indent fie se apasa Ctrl+I fie se selecteaza Smart
Indent din meniul contextual
Identificarea parantezelor si acoladelor Se pozitioneaza cursorul intre doua paranteze
sau acolade ( ), [ ], { }, si apoi fie se selecteaza
meniul Text -> Balance Delimiters, fie se apasa
Ctrl+B. Daca nu exista nici o pereche de
paranteze delimitatoare MATLAB lanseaza un
beep sonor.
Indentare

Se selecteaza liniile respective in MATLAB Editor
si apoi fie se selecteaza meniul Text -> Decrease
Indent/ Increase Indent fie se apasa Ctrl+[/Ctrl+]

Fisierele M pot fi creeate si editate si utilizand editoare exterioare MATLAB-ului, cum ar fi Notepad,
Wordpad etc. Pentru a fi considerate de catre MATLAB drept fisiere M, fisierele create cu aceste
editoare trebuiesc salvate cu extensia .m.
6.2. Depanarea fisierelor M folosind MATLAB Debugger.
Depanarea sau Debugging este procesul prin care sunt identificate si rezolvate problemele din cadrul
codului dvs. MATLAB. In principiu exista doua tipuri de erori:
Erori de sintaxa de pilda, introducerea gresita a unui nume de functie sau omiterea unei
paranteze. Cand lansati un fisier M cu o eroare de sintaxa, in mod normal MATLAB o va
detecta si va afisa un mesaj de eroare in Command Window descriind eroarea si numarul
liniei in fisierul M. Clicati pe portiunea subliniata a mesajului de eroare, sau pozitionati
cursorul pe mesajul de eroare si apasati Ctrl+Enter. Fisierul M ce contine eroarea se deschide
in Editor, cu linia eronata afisata in prim plan.
Erori run-time aceste erori sunt in general de algoritm. Erorile run-time sunt vizibile cand
fisierul M produce rezultate neasteptate.
Identificarea erorilor de sintaxa nu este de regula dificila daca se tine cont de mesajele de eroare
MATLAB. Erorile run-time sunt insa mai dificil de identificat deoarece acestea pot apare in interiorul
anumitor functii. Iata cateva sfaturi pentru identificarea si inlaturarea erorilor run-time:
Stergeti simbolurile ; din instructiunile fisierelor M cu pricina. In urma acestei operatiuni
MATLAB va afisa rezultatelor pe ecran pe durata executiei fisierului M.

11 Laboratorul nr.1
Adaugati instructiunii keyboard la fisierul M. Instructiunile keyboard opresc executia
fisierului M la un anumit punct unde acestea apar si va permit examinarea si modificarea
workspace-ul local al functiei. Acest mod este indicat de un prompt special: K>> Continuarea
executiei functiei se realizeaza tastand return si apasand tasta Return.
Folositi MATLAB Debugger sau functiile debugging. Acestea sunt folositoare pentru
corectarea erorilor run-time deoarece puteti accesa workspace-ul functiilor si apoi puteti
examina sau schimba valorile pe care le contin. Puteti defini sau sterge puncte de
intrerupere sau breakpoints, pentru oprirea executiei programului la o anumita locatie (la o
anumita linie de program) in interiorul fisierelor M.
CALCULE SIMPLE IN MATLAB. VECTORI SI MATRICI
- teorie si exemplificari-
Operatii standard aritmetice:
>> a=5;
>> b=12;
>> a+b
Ans apare in momentul in care expresiei nu ii este asociata nicio variabila.
>> x=sin(2)
Daca nu este necesara afisarea variabilei de iesire, putem folosi semnul ; dupa tastarea expresiei.
Virgula se poate folosi daca avem mai multe expresii pe aceeasi linie de intrare, pentru a le separa:
>> x=sin(22), y=exp(3)
Calcule cu numere complexe:
>> (-1)^0.25
unde i reprezinta 1 , partea imaginara.
Pentru a memora un sir de numere {1,2,3,4,5} intr-un vector x vom folosi scrierea:
>> x=[1 2 3 4 5];
Il putem folosi pentru a rezolva ecuatii:
Sa se rezolve funcia :
1 5 , 0
3 , 6 2
) (
2
2 3
+
+
=
x x
x x x
x f pentru x=2.
>> x=2;
>> M=x^3-2*x^2+x-6.3;
>> N=x^2+0.5*x-1;
>> f=M/N

>> x=2;
>> f=( x^3-2*x^2+x-6.3)/( x^2+0.5*x-1)

Daca dorim sa afisam elementele unei matrici
(


=
3 0
1 2
A vom proceda astfel:

12 Laboratorul nr.1
>> A=[2 -1; 0 3];
Identificarea unui anumit element in cazul structurilor uni sau bidimensionale se face prin
specificarea indicilor ce corespund pozitiei elementului respectiv in cadrul structurii:
>> x=[1 2 3 4 5];
>> x(4)

>> A=[2 -1 ;0 3];
>> A(1,2)

Pentru a genera un vector cu n elemente egal spatiate, intre capetele amax si amin, vom folosi
comanda linspace(amax, amin, N). Pasul n poate fi si negativ. Daca dorim un pas n=0,5 sintaxa este
.5
>> linspace(0, 1, 7)
Explicatie: S-a generat un vector cu pas liniar, cu limitele a=0, b=1 si pasul n=7.
Pentru a afla lungimea unui vector se foloseste functia length(x), iar pentru determinarea
dimensiunilor unei matrici avem functia size(A).
>> length(x)

>> A=[2 -1 ;0 3];
>> size(A)

Pentru a genera un vector cu valori distribuite logaritmic se foloseste functia logspace
(x=logspace(amin, amx, N).
>> x = logspace(-2, 2, 5)
Identificarea unei anumite coloane sau linii din cadrul unei matrici:
>> A=[1 2 3; 3 4 -1; 2 1 1; 4 3 1];
>> A(:,2)
>> A(3,:)
de incercat A(:)!!!!
Operaiile aritmetice cu matrici:
a) Adunarea i scderea
A=[2 5 6]; B=[4 3 2]; p=2
C=A-B
D=A-p
E=p-A

b) nmulirea
A=[2 5 6]; B=[4 3 2]; p=2
C=A.*B
D=A.*p


13 Laboratorul nr.1
E=p.*A
c) mprirea la dreapta
A=[2 5 6]; B=[4 3 2]; p=2
C=A./B
D=A./p
E=p./A

d) mprirea la stnga
A=[2 5 6]; B=[4 3 2]; p=2
C=A.\B
D=A.\p
E=p.\A

e) Ridicarea la putere
A=[2 5 6]; B=[4 3 2]; p=2
C=A.^B
D=A.^p
E=p.^A

f) Inversa matricei
A=[ 1 20 3
4 5 6
7 8 9];
A
-1
sau inv(A) sau A\eye(size(A))

Matlab ofera si posibilitatea vectorizarii operatiilor aritmetice cu matrici utilizand ..
Sa se calculeze valorile functiei
2
1
1
) (
x
y x f
+
= = , unde x reprezinta vectorul valorilor cuprinse intre -
5 si 5 cu pasul 0.1.
>> x=(-5:.1:5);
>> y=x./(1+x.^2)
Matlab permite calculul puterilor unei matrici doar in cazul cand acestea sunt patratice. De observat
diferenta dintre A^2 si A.^2, unde A reprezinta o matrice. In primul caz matricea trebuie sa fie
patratica, pe cand in al doilea caz ea poate avea orice dimensiune.
>> A=[1 2 3; 45 6 7; 12 3 4; 1 1 1];
>> A.^2
>> A^2
Pentru a calcula transpusa unei matrici folosim simbolul (apostroful):

14 Laboratorul nr.1
>> A=[1 2 3; 45 6 7; 12 3 4];
>> A'
Operatorul transpus , poate fi folosit la generarea de tabele de valori din vectori, astfel
>> x=0:4;
>> y=5:5:25;
>> A=[x' y']
Putem reprezenta o matrice bidimensionala ca un vector linie cu elemente vectori coloana.
>> B=[[1 2 3]' [2 4 7]' [3 5 8]']
Multe comenzi din Matlab care actioneaza asupra scalarilor, actioneaza si asupra vectorilor sau
matricilor, element cu element.
>> sqrt([1 2 4 6])
Alte comenzi folosite in calculele cu vectori: min(x), max(x) returneaza valoarea minima respectiv
maxima dintr-un vector, sort(x) returneaza un vector ordonat crescator ce contine valorile lui x,
sum(x) returneaza suma elementelor unui vector.
>> x=linspace(0, 1, 7)
>> [min(x) max(x)]
>> sort(x)
>> sum(x)
Pentru generarea aleatoare a elementelor unei matrici avem doua functii importante. Prima, rand,
care genereaza o matrice aleatoare de numere, corespunzatoare distributiei uniforme pe intervalul
[0, 1], a doua radn va produce o matrice de numere aleatoare corespunzatoare distributiei normale.
Sa se genereze o matrice aleatoare cu dimensiunea 2x2 si o matrice aleatoare cu dimensiunea 2x3 cu
elementele distribuite uniform si normal.
>> R2n=rand(2, 3)
>> R2u=rand(2, 3)
>> R1n=rand(2)
>> R1u=rand(2)
Folosind comanda triu(A) putem extrage partea triunghiulara superioara a matricei A, iar ca sa
extragem matricea inferior triunghiulara folosim comanda tril(A).
>> x=[1 2 3; 4 5 6; 7 8 9];
>> A=triu(x)
>> B=tril(x)
Comenzile min si max utilizate pentru matrici, returneaza doi vectori ce contin elementele minime,
respectiv maxime pe fiecare coloana a matricei.
>> A=[1 2 3; 4 5 6; 7 8 9];
>> min(A)

15 Laboratorul nr.1
>> max(A)
O functie utila atat in lucrul cu vectori cat si in cel cu matrici este functia find, care returneaza pozitia
elementului din structura ce satisface o conditie data.
>> x=-2:.05:2;
>> y=sin(3*pi*x).*exp(-x.^2);
>> plot(x,y,':')
>> k=find(y>0.5)
>> hold on
>> plot(x(k),y(k),'o')
In cazul matricelor functia find opereaza in acelasi mod.
>> A=[-2 3 4 5; -2 0 3.4 1; 1 1 2 0];
>> k=find(A==0)
S-au gasit elemente de zero pe pozitiile 5 si 12.
Pentru a sterge ecranul folosim comanda clc.

APLICATII
-parte practica-
1. Afisarea unui text (Seminar1; Nume; Grupa; Data)
2. S se genereze 5 vectori liniari, V1, V2, V3, V4 i V5, pe intervalele 2-7, 3-6, 5-10, 4-10 i respectiv
2-8, fiecare cu 5 elemente.
3. Folosind concatenerea vertical s se determine o matrice A alctuit din elementele vectorilor V1-
V5 i s se determine elementele diagonalei principale ale acesteia.
4. Ce numere au liniile i coloanele matricei A pe care se afl elemente mai mari ca 8.
5. Considernd matricea
(
(
(
(
(
(


=
8 5 , 5 5 , 11 5 , 7 1
4 5 , 12 6 5 , 8 6
6 , 6 75 , 17 8 , 14 25 , 0 2
0 75 , 0 5 , 10 25 , 0 2
6 85 , 7 8 , 0 25 , 5 1
B , s se determine numrul liniei i
coloanei pe care se afl elemente egale cu zero n matricea C=A-B.
6. Determinai inversa matricei C i determinantul acesteia.
EXERCITII

1. S se rezolve funciile de mai jos considernd valoarea lui x=115:
a) ( ) ( ) ( ) ( )
3 3 3 3
3 2 1 + + + + + + = x x x x x f
b)
2 2 3 3
) 6 ( ) 5 ( ) 4 ( ) 5 ( ) ( + + + + + + + = x x x x x f

16 Laboratorul nr.1
c) ( )
7 3
4 3
1 2
5 2
2
1
+
+

+
+

+
+
=
x
x
x
x
x
x
x f
2. Fie
|
|
|

\
|

=
2
7
4
6
5
1
A ;
|
|
|

\
|

=
2
2
8
4
6
0
B . S se calculeze: A+B; A-B; A x B; A/B; A\B; A
B
i inversa
matricei A.
3. Fie
|
|
|

\
|

=
1 2 2
1 3 0
1 4 1
A ;
|
|
|

\
|
=
1 1 0
2 0 1
1 0 2
B . S se calculeze: A+B, AB i BA; A
2
, B
2
i A
2
- B
2
; AB
BA.
4. S se determine matricea X din ecuaia:
|
|
|

\
|

+
|
|
|

\
|

=
|
|
|

\
|

+
0
3
6
3
9
3
6
4
3
2
7
1
2
3
2
3
2
1
2
3X
5. Fie
|
|
|

\
|

=
3 1 3
1 1 2
2 0 1
A . Dac ( ) x x x f 3
2
+ = s se calculeze f(A).
6. S se rezolve urmtoarele ecuaii matriceale:
a)
|
|

\
|
=
|
|

\
|
8 6
6 5
3 2
1 2
X ;
b)
|
|

\
|

=
|
|

\
|

5 3
2 7
8 5
2 1
X ;
c)
|
|

\
|

=
|
|

\
|

|
|

\
|

7 4
13 8
8 5
6 4
8 3
2 1
X ;
d)
|
|
|

\
|

=
|
|
|

\
|

5 4 3
1 1 2
3 5 1
1 2 1
2 1 0
3 2 1
X ;
e)
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
1 0 0 0
2 1 0 0
3 2 1 0
4 3 2 1
1 0 0 0
1 1 0 0
1 1 1 0
1 1 1 1
X ;
f)
|
|
|

\
|
=
|
|
|

\
|

|
|
|

\
|

1 0 0
1 1 0
1 1 0
1 0 0
2 1 0
3 2 1
1 2 1
0 1 1
3 2 2
X .

S-ar putea să vă placă și