Documente Academic
Documente Profesional
Documente Cultură
Lab 3 ME
Lab 3 ME
Laborator 3
MATLAB. Program pentru calcule tehnice
Notiuni fundamentale. Partea a doua.
Operatii aritmetice, logice si instructiuni pentru control
Exista un numar de operatii de baza care sunt utilizate la generarea expresiilor matematice.
Operatiile sunt de 2 categorii si anume operatii aritmetice si operatii logice.
3.1.1.Operatii aritmetice
Operatiile aritmetice sunt de 2 categorii si anume operatii cu matrici si vectori si operatii cu
grupuri. Operatiile efectuate asupra matricilor si vectorilor sunt adunarea, scaderea, înmultirea,
ridicarea la o putere si transpunerea, aceste operatii sunt specificate prin operatorii +, -, *, ^ si
respectiv ‘ pentru transpunere. Matricele patrate pot sa fie inversate cu comanda inv(A). În plus fata
de aceste operatii mai exista A/B si A\B care specifica înmultirea matricii A cu inversa matricii
patrate B la dreapta si repectiv înmultirea matricii A cu inversa matricii B la stânga. Trebuie ca
dimensiunile matricilor sa fie corespunzatoare pentru a face anumite operatii si anume matricile
trebuie sa aiba aceleasi dimensiuni în cazul adunarii si scaderii, sa fie de dimensiuni
corespunzatoare în cazul multiplicarii, operatiei de multiplicare la dreapta cu inversare (/), operatiei
de multiplicare la stânga cu inversare (\) si respectiv trebuie sa fie patrate în cazul ridicarii la putere
si inversarii.
Se va face o verificare manuala a operatiilor efectuate mai sus pentru o mai buna întelegere
modului în care aceste operatii se efectueaza. În cazul operatiilor de înmultire cu inversa sunt 2
opreatii distincte care dau rezuultate diferite si anume:
A\B = inv(A)*B si respectiv A/B= A*inv(B)
Se remarca faptul ca la rezolvarea unei ecuatii liniare de matrici de tipul A*X=B, pentru a
afla X se pot folosi cele 2 operatii de divizare care dau rezultate diferite si anume:
X=A\B = inv(A)*B si respectiv X=A/B = A* inv(B)
Elementele unei matrici pot sa fie adunate, scazute sau multiplicate cu un scalar.
A doua categorie de operatii sunt operatiile pe grupuri sau multimi (array) care sunt operatii
efectuate element cu element. Deoarece adunarea si scadera matricilor sunt operatii care se
efectueaza element cu element va rezulta ca adunarea si scadera pe multimi este la fel cu adunarea
si scadera matricilor. În acest caz asemenea operatii sunt specificate de operatorii + si -.
Multiplicarea, împartirea, transpozitia si ridicarea la putere a unor multimi sunt specificate de
operatorii dinainte dar care au în fata un punct .* ,. /, . ‘, . ^. Aceste operatii pe multimi care se fac
element cu element se mai numesc operatii cu punct. Se remarca faptul ca doua grupuri utilizate în
1
Operatii aritmetice, logice si instructiuni pentru control
operatii matematice de tip multime trebuie sa aiba aceiasi dimensiune. Se poate verifica lungimea
unui vector sau a unei matrici (adica numarul de elemente) cu comanda length(A) unde A este
variabila asociata grupului respectiv.
Se va face o verificare manuala a operatiilor efectuate mai sus pentru o mai buna întelegere
modului în care aceste operatii se efectueaza. Exista o exceptie legata de dimensiunile necesare
pentru matrici si grupuri atunci când se aduna se scade se multiplica sau se împarte matricea cu o
constanta. În aceste cazuri constanta este adunata, scazuta, înmultita, respectiv împartita cu fiecare
element al matricii sau ariei respective.
Se remarca faptul ca înmultirea si împartirea unei matrici este o operatie de grup atunci când
aceste operatii au loc cu o constanta.
Operatiile logice “si”, “sau” si “negatie” sunt specificate de catre operatorii &, I -. Acesti
operatori pot sa fie folositi în conjuctie cu operatorii:
< mai mic
<= mai mic sau egal
> mai mare
>= mai mare sau egal
== egal
~= diferit (neegal)
pentru a se obtine grupuri de “zero” si “unu” (grupuri 0-1). Valoarea unu corespunde cu elementele
pentru care operatia logica este îndeplinita.
3.2.Functii matematice
Daca un numar este real atunci functia abs determina afisarea modului acelui numar. Alte
functii matematice mai des folosite în analiza semnalelor si sistemelor si în electronica sunt:
- exp- functia exponentiala în baza e,
- log- logaritm în baza e,
- log 10- logaritm în baza 10,
- sin- functia sinus,
- cos- functia cosinus,
- asin- functia arcsin,
- acos- functia arcos,
- atan- functia arctangenta,
- atan2- functia arctangenta pe patru cadrane,
- round- aproximare le cea mai apropiata valoare întrega,
- floor- aproximare spre – infinit,
- ceil- aproximare spre + infinit.
Functiile trigonometrice se aplica la unghiurile exprimate în radiani. Se reamintesc functiile
uzuale clasificate pe domenii:
sin cos tan sinh cosh tanh...
asin acos atan asinh acosh.. atanh....
exp log log 10 sqrt
fix floor ceil round mod rem sign
cart2sph cart2pol pol2cart sph2cart
factor isprime primes gcd lcm
nchoosek perms
besselj besselh... beta... erf... gamma..legendre
cross dot
Programul MATLAB are functii prin care se poate controla executarea repetitiva sau
selectiva a instructiunilor. Toate instructiunile de control a fluxului de declaratii trebuie sa fie
asociate cu instructiunea finala end.
3.3.1.Instructiunea for
Instructiunea for poate fi îmbricata. Exemplu de editare a unei matrici cu instructiunea for
3.3.2.Instructiunea while
Se observa ca acesta instructiune calculeaza cea mai mare putere a lui 2 care este mai mica
decât 5000.
3.3.3. Instructiunea if
Instructiunea if permite executarea selectiva a unui set de instructiuni în functie de valoarea
unei expresii logice.
Instructiunile if pot sa fie îmbricate. De asemenea se pot utiliza variabile de tip sir de forma
adevarat 't' sau fals 'f' sau conditiile matematice == sau ~= în cadrul unor expresii logice care pot
sa controleze instructiunea if.
Comanda sum se poate utiliza împreuna cu comanda meshgrid pentru a evalua suma unei
variabile independente pe un anumit domeniu de variatie. Se va considera urmatorul exemplu de
calcul pentru expresia matematica.
3
x t k t 1.2 k
pentru 0<=t<=0.8 cu un interval de 0.2
k 1
6
MATERIALE PENTRU ELECTRONICA Laborator 3
Spatiul de lucru (workspace) poate fi salvat sau încarcat din memorie cu 2 comenzi:
>> save % scrie toate variabilele din spatiul de lucru în fisierul matlab.mat si salveaza
fisierul
>> load % încarca în spatiul de lucru toate variabilele din fisierul matlab.mat
Bibliografie
1. Gordon E.Carlson, “MATLAB Tutorial”, Signal and Linear System
Analysis,1998
2. MATLAB, Getting Started with MATLAB
3. MATLAB Exercices, www.facstaff.bucknell.edu