Documente Academic
Documente Profesional
Documente Cultură
Lucrare laborator 1.
A. Tut
Lucrare laborator 1.
Programul Matlab se lanseaz la fel ca orice alt program instalat sub Windows, GNU/Linux, UNIX i Mac OS, fie prin dublu click pe icon-ul caracteristic programului, fie prin lansarea acestuia dintr-o linie de comand. n cele ce urmeaz se vor prezenta fer estrele de lucru la rularea programului, explicnd rolul fiecreia.
Zona de memorie
Zona de comenzi
Figura 1.1 Interfaa programului Matlab Aa cum se poate observa i n figura 1.1 la rularea programului acesta returneaz o interfa ce cuprinde 3 ferestre de interes.
A. Tut
Lucrare laborator 1.
Fereastra denumit sugestiv zona de comenzi se caracterizeaz prin faptul c programul accept introducerea dup prompterul >> a unor linii de cod (comenzi) pe care programul urmeaz s le execute. Fereastra denumit zona de istoric a comenzilor conine toate comenzile date pe parcursul unei sesiuni de lucru, adic ntre deschiderea i nchiderea programului. Mai mult conine toate comenzile din sesiunile trecute, fiecare sesiune fiind desprit de precedenta printr-un rnd ce conine data i ora deschiderii sesiunii respective. Aceast zon permite utilizarea unor comenzi care au fost date n sesiuni anterioare reducnd astfel timpul de scriere a unei secvene. Fereastra denumit zona de memorie conine informaii despre toate datele, variabilele, structurile ncrcate n memorie n acea sesiune, uurnd astfel depanarea sau verificarea acestora n cadrul unor proiecte ample. Exist o a patra fereastr denumit fereastra grafic ce se deschide doar dac este dat o comand specific reprezentrilor grafice.
n cadrul unei sesiuni MATLAB, putem defini variabile de tip constante numerice, vectori sau matrici, dndu-le nume diferite i innd cont de faptul c programul MATLAB este "case-sensitive" (face diferenierea ntre variabila ex: a i A). Introducerea unei operaii n linia de comand determin afiarea rezultatului sau aciunii liniei introduse. Astfel, dac rezultatului liniei introduse nu i s-a desemnat un nume prin atribuiri explicite va fi afiat numele "ans" (answer) ce desemneaz ultimul rezultat nenominalizat. Exemplu: >> a=10 a= 10 >> 7 ans = 7
A. Tut
Lucrare laborator 1.
Aadar o serie de variabile pe care programul Matlab le poate returna n linia de comand sunt prezentate n tabelul 1.1. Constanta operaii: ans >> 8+5 ans = 13 Returneaz valoarea lui : >> pi pi ans = 3.1416 Variabil folosit la scrierea numerelor complexe. Unitate imaginar. i sau j Variabil folosit pentru reprezentarea lui +. >> 1/0 inf ans = inf Not-A-Number. Variabil returnat n cazul n care un numr nu poate fi returnat: NaN >> 0/0 Ans = NaN eps Variabil n care este memorat eroarea relativ pentru calcule efectuate n virgul mobil. flops realmax / realmin nargin / nargout Numrul de operaii n virgul mobil. Valoarea maxim/minim n virgul mobil. Numrul de argumente de intrare/ieire a unei funcii. Tabelul 1.1. Constante returnate de Matlab Explicaia constantei Variabil creat de Matlab cu ajutorul creia returneaz valoarea unei
A. Tut
Lucrare laborator 1.
n timpul unei sesiuni de lucru se pot verifica variabilele i starea acestora precum i formatul lor sau documentaia unei funcii utiliznd una din funciile predefinite n zona de comand a interfeei programului. Funcia help help nume_funcie Explicaia funciei Ofer explicaii despre elementele limbajului Matlab. Returneaz informaii despre funcia nume_funcie . >> help sin SIN X. Afiaz numele variabilelor utilizate n sesiunea curent. >> a=7; >> b=10; who >> c=a+b; >> who Your variables are: a b c Afiaz informaii suplimentare asupra variabilelor din sesiunea curent. Name whos a b c Size 1x1 1x1 1x1 Bytes Class 8 double 8 double 8 double Attributes Sine of argument in radians. SIN(X) is the sine of the elements of
Stabilete formatul de afiare: short format >> format short >> pi ans = 3.1416 long >> format long >> pi ans = 3.141592653589793 Hex >> format hex >> 96586 ans = 40f794a000000000
A. Tut
Lucrare laborator 1.
Caracterele speciale pe care programul le recunoate sunt prezentate n tabelul 1.3. Caracterul : () [] @ . ... , ; Atributul Se folosete la generarea diviziunilor Folosite pentru corpul unei funcii Pentru desemnarea unei matrici / vector Simbol pentru anunarea unei funcii de tip FUNCTION_HANDLE Indicator de operaie aritmetic element cu element Continuarea unei comenzi Matlab pe linia de comand urmtoare Separator ntre instruciuni pe aceiai linie de comand Separator ntre instruciuni pe aceiai linie de comand. n cazul utilizrii accestui caracter la finalul unei linii n zona de domand nu se va returna rezultatul acelei linii. ' [,] [;] Transpusa unei matrici Separator intre elementele aceleiasi linii intr-o matrice/vector Separator intre liniile unei matrici Tabel 1.3. Caractere special recunoscute de Matlab
A. Tut
Lucrare laborator 1.
A. Tut
Lucrare laborator 1.
Figura 1.2. Crearea unui nou proiect n Pspice Pentru tipul proiectului se poate observa c exist mai multe categorii. Prima obiune ne permite editarea schemelor electronice i simularea acestora, a doua este exclusiv pentru proiectarea cablajelor imprimate, a treia pentru simulare circuitelor digitale, iar a patra pentru realizarea unui proiect fr o anumit specificaie. Astfel, pentru a obine un proiect de si mulare este obligatorie specificaia Analog or Mixed-Signal Circuit Wizard. Specificarea acestor date determin lansarea n execuie a unui modul Express modificat pentru editarea i simularea circuitelor, iar meniul principal este prezentat n figura 1.3.
A. Tut
Lucrare laborator 1.
Pentru amplasarea unui simbol se va alege din meniul principal opiun ea Place-Part sau, de pe bara de instrumente din dreapta, simbolul corespunztor operaiei Place -Part, ca n figura 1.4. Plasarea unei componente pe spaiul de lucru implic specificarea numelui componentei dorite i a bibliotecii din care aceasta face parte.
A. Tut
Lucrare laborator 1.
Fiecare component are un anumit prefix de identificare cu ajutorul cruia le vom cuta i astfel, plasa pe spaiul de lucru. Pentru cele mai uzuale componente prefixele de cutare sunt: R pentru rezistoare; C pentru condensatoare; L pentru bobine; V pentru surse de tensiune; I pentru surse de curent; GND pentru masa analogic (0/SOURCE); Q pentru tranzistoare bipolare; D pentru diode.
Orice alt component ce se dorete a fi adugat se plaseaz fie prin prefixul acesteia, fie prin codurile specificate de productor. Pentru adugarea sau eliminarea unei biblioteci din lista de cutare se vor folosi butoanele Add/Remove Library, iar cutarea unei componente se realizeaz prin selectarea butonul Part Search din fereastra de dialog Place Part.
Figura 1.5. Adugarea/tergerea unei biblioteci de componente Editarea proprietilor unei componente amplasate pe suprafaa de lucru se realizeaz fie prin selectarea Edit Properties dup ce aceasta fost selectat i s-a executat un click dreapta pe ea, fie prin dublu click pe valoarea sau numele componentei.
A. Tut
10
Lucrare laborator 1.
Valorile numerice se introduc preciznd valoarea numeric i apoi ordinul de mrime printr-o liter, conform tabelului alturat. Valoare numeric Semnificaie 1n 1 nano = 10-9 1u 1 micro = 10-6 1m 1 mili = 10-3 1,10,100 1,10,100 1k 1kilo = 103 1meg 1mega = 106 Tabel 1.5. Unitile de msur Odat ce componentele necesare realizrii schemei propuse au fost amplasate i aranjate, realizarea legturilor ntre acestea se face prin selectarea butonului Place Wire din fereastra din dreapta spaiului de lucru, sau folosind scurttura W de la tastatur. Funcionarea oricrui circuit electronic este condiionat de alimentarea acestuia. Totodat este necesar s existe o mas analogic a circuitului, mas ce se amplaseaz prin selectarea bunonului GND din meniul dreapta i se afl n biblioteca SOURCE sub denumirea de 0/SOURCE.
A. Tut
11
Lucrare laborator 1.
Figura 1.8. Filtru trece band 2. Se salveaz schema rezultat sub forma unei imagini cu una din extensiile cunoscute: .bmp, .png, .jpeg, .jpg, etc. Punctul 1 se realizeaz urmnd paii de editare a unei scheme electronice explicat la punctul 1.7, iar punctul 2 cu ajutorul cunotinelor de windows dobndite pn acum. 3. Se lanseaz programul Matlab i se creaz un fiier de tip M-File n corpul cruia vom crea o noua figur. Crearea unui fiier de tip M-File n Matlab se realizea din meniul programului File -> New -> M-File, aa cum se prezint n figura 1.9. Aceste fiiere de tip M-File, sunt fiiere text ce conin instruciuni MATLAB. Folosind MATLAB Editor pentru a crea un astfel de fiier, instruciunile pe care le-ai tasta de la linia de comand MATLAB n fereastra de comenzi sunt acum parcurse secvenial i returneaz rezultatul secvenei de cod scrise. Un fiier de tip M-File este de forma: nume i extensia .m. (ex: laborator1.m) n Matlab vom defini dou astfel de fiiere: fiierele de tip Script, cele n interiorul crora vom rezolva diverse probleme sau vom atribui variabilelor valori; i fiiere de tip Funcie, fiiere ce pot fi apelate din interiorul fiierelor de tip Script.
A. Tut
12
Lucrare laborator 1.
Distincia dintre cele dou fiiere const n prezena pe prima linie a editorului n cazul fiierelor de tip Funcie, a sintaxei function(parametru). Aceste tipuri de fiiere vor fi prezentate pe larg n lucrrile anterioare. ATENTIE! Fiierele de tip M-File se salveaz cu un nume format din litere, litere i cifre, dar niciodat doar din cifre, sau cu denumiri a unor funcii predefinite n Matlab. Apelarea acestor fiiere se face din fereastra de comenzi scriind numele fiierului ce se dorete a fi apelat.
Pentru a crea o nou figur (spaiu de lucru / fereastr) este necesar a se folosi funcia predefinit figure, iar pe liniile editorului vom scrie urmtoarele instruciuni:
clear all; close all; Fig=figure('Name','Figura Noua Matlab',... %---Numele ferestrei---% 'Units','normalized',...%---Unitatile de masura 0->1-% 'Position',[.1 .1 .5 .5],...%---Pozitia ferestrei pe ecran 'NumberTitle','off'); %---Numarul ferestrei - nu se atribuie---%
Rezultatul liniilor de cod de mai sus returneaz o nou fereastr ca cea prezentat n figura 1.10. Funcia clear terge toate variabilele ncrcate anterior, iar funcia close nchide toate ferestrele ce au fot deschise nainte de rularea aplicaiei curente.
A. Tut
13
Lucrare laborator 1.
Figura 1.10. O fereastr creat n Matlab 4. n figura nou creat la punctul anterior se dorete afiarea imaginii salvate la punctul 2. Afiarea imaginii realizate la punctul 2 n fereastra de lucru creat se realizeaz cu ajutorul funciilor image sau imswho. Astfel liniilor de cod anterioare se adaug:
x = imread('schema.jpg'); image(x); %---citirea imaginii---% %---afisarea imaginii---%
Rezultatul scrierii acestor linii de cod in continuarea liniilor de la punctul 3 returneaz o fereastr de forma celei prezentate n figura 1.11.
A. Tut
14
Lucrare laborator 1.
ATENIE! Exemplul prezentat implic salvarea fiierului de tip M-File i a imaginii salvate cu numele schema.jpg n acelai director de lucru. n cazul n care imaginea ce se dorete a fi atribuit unei astfel de ferestre nu se regsete n directorul de lucru curent, sintaxa funciei imread se modific astfel nct s atribuim calea unde se regsete imaginea dorit.
x = imread('C:\Desktop\schema.jpg'); image(x); %---citirea imaginii---% %---afisarea imaginii---%
O alternativ la funcia image este funcia imshow, funcie prezentat prin urmtoarele linii de cod:
w = imread('schema.jpg'); imshow(w,'InitialMagnification',150) %---citirea imaginii---% %---afisarea imaginii---%
5. Modificai parametri figurii create la punctul 3 astfel: culoare, dimensiune, nume, etc. 6. Identificai diferenele dintre funciile image i imshow. 7. Personalizai axele ferestrei n care afiai imaginea de la punctul 2 i dai un nume acesteia.
Punctele 5, 6, 7 se rezolv utiliznd proprietile funciilor figure, image, imshow i axis. Proprietile acestor funcii se pot obine utiliznd fie comanda help n linia de comand, fie prin apsarea butonului help din meniul programului.
A. Tut
15
Lucrare laborator 1.
1.10 Tem
1. Se vor repeta procedurile din laborator pentru schemele propuse din figurile urmtoare :
con 2
con 2 con 2
2. Identificai parametrii funciilor utilizate n acest laborator. ( figure, imread, imshow, image)
A. Tut
16