Sunteți pe pagina 1din 20

Ministerul Educaţiei, Culturii si Cercetarii al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica și Microelectronica
Departamentul Ingeneria Software și Automatica

RAPORT
Lucrarea de laborator nr.1
la Prelucrarea Semnalelor

A efectuat:
st. gr. AI-171 Mardari Ionela

A verificat
Lector univ. Popovici Nadejda

Chişinău – 2020
Tema: Introducere în Matlab
Scopul: însușirea elementelor de bază din Matlab precum: definirea unei matrice, operații
cu matrice, tipuri de date, variabile, instrucțiuni, fișiere script, reprezentarea graficelor și
implementarea funcțiilor în Matlab.
Exercitiul 1
1
Fie vectorii linie a = [0, 0.1, 0.2, … , 2] şi coloană b = ⋮
1
a) Ce lungime trebuie să aibă b astfel ca să aibă sens înmulţirea (în sens matricial) a*b?
Iniţializaţi în MATLAB cei doi vectori şi realizaţi înmulţirea. Ce operaţie se efectuează?

Figura 1.1 – Creara vectorului linie a = [0,0.1,0.2,…,2]


Din figura 1.1 observam ca vectorul a contine 21 de elemente, deci coloana b, ca sa aiba loc
sens inmultirea, trebuie sa aiba si lungimea 21. In figura 1.2 este aratata initializarea coloanei b.

Figura 1.2 - Initializarea cooloanei b.


In figura 1.3 se efectueaza inmultirea a cu b.
Figura 1.3 - Inmultirea a cu b.
b) Realizaţi înmulţirea b*a.

Figura 1.4 - Inmultirea b*a

c) Realizaţi înmulţirea element cu element a celor doi vectori. Ce rezultat se obţine?


Pentru realizarea inmultirii element cu element a celor 2 vectori, ambii trebuie sa aiba aceeasi
forma, de aceea, mai intii realizam transpusa coloanei b, elementele tranformindu-le din coloana
in linie. Pasul dat este realizat in figura 1.5.
Figura 1.5 - Realizarea transpusei b.
Acum putem realiza inmultirea elemnt cu element a celor 2 vectori. Pasul ester reprezentat
in firgura 1.5.

Figura 1.6 – Inmultirea element cu element a celor 2 vectori


Exerciţiul 2
Se creează un fişier nou care trebuie salvat în directorul d:/student/pns/nrgrupa. Folosind
sintaxele şi indicaţiile din secţiunile 1.2.6. şi 1.2.7. realizaţi un program MATLAB care să
genereze un vector cu elemente aleatoare cu distribuţie normală (gaussiană) şi să afişeze
elementele negative ale acestui vector.

/*
Comenzile folisite în cadrul rezolvării exercițiului:

r= randn(35,1)

inx = r<0;
neg = r(inx)
În figura de mai jos este arătat rezultatul obținut:

Figura 2.1 – Rezultatul obținut.

Exerciţiul 3
Realizaţi un program MATLAB care generază un vector cu elemente complexe. Realizaţi
(un alt fişier) o funcţie MATLAB care având drept parametru de intrare vectorul cu valori
complexe returnează ca parametri de ieşire:
- media aritmetică a părţilor reale ale elementelor vectorului;
- un vector ce conţine elementele vectorului iniţial ridicate la pătrat;
- o matrice obţinută din înmulţirea vectorului iniţial cu transpusul său.
Atenţie: Pentru a nu se afişa rezultate intermediare din funcţie sau elementele unor variabile
se va folosi ; la sfârşitul liniei respective de program.

Sursa primului fisier complex.m :


e1=randn(6,1)
e2=randn(6,1)
e=complex(e1,e2)
În acest fişier se crează vectorul complex. Rezltatul obţinut poate fi vizalizat în figura 3.1.

Figura 3.1 – Vectorul complex obtinut


Codul celui de-al doilea fisier myFunction.m :
function [ ] = myFunction(e )
%UNTITLED5 Summary of this function goes here
% Detailed explanation goes here
rea= real(e);
disp('Media aritmetica a partilor reale')
m=mean(rea)

disp('Vector la patrat')
z=abs(e).^2

disp ('Matrice obtinuta din inmultirea vectorului cu transpusa')


tran=e.';
matr=e*tran

end

În fişierul dat este expus codul ce efectuează calcule cu vectorul creat mai sus. Rezultatul
calculelor sunt expuse în figura 3.2 de mai jos.
Figura 3.3 – Rezulatele obtinute: ridicarea la pătrat, înmulţirea cu transpusa, media aritmetica.

Exerciţiul4
Realizaţi un program MATLAB în care să generaţi şi să reprezentaţi grafic folosind funcţia
stem următorii vectori:
a) z = [0,0,0,0,0,1,0,0,...,0], vectorul z având lungimea 21.Reprezentarea grafică se va face
în două „miniferestre” (funcția subplot), vectorul z în funcție de n=0:20, respectiv de m=-5:15.
b) t=|10-n |, reprezentat graphic în fincție de n=0:20.

c) , -15≤n≤25 și , 0≤n≤50
cele două secvenţe vor fi reprezentate în:
- figura 1 – în acelaşi sistem de coordonate (pe acelaşi grafic);
- figura 2 – folosind două “miniferestre” grafice plasate una sub alta.
Reprezentaţi cele două figuri folosind comanda plot iar apoi încercaţi reprezentarea lor
folosind comanda stem.
Cu funcţia plot se pot reprezenta grafic semnale sau funcţii “continue” deoarece se unesc cu
linie continuă valorile care se reprezintă. Astfel se pot reprezenta semnale continue alegând
variabila timp cu pasul mai mic decât variaţia semnalului reprezentat. De exemplu dacă perioada
semnalului e 0.01 secunde se poate alege variabila temporală cu pasul de 0.001s:
t = 0:0.001:5 (secunde).

a) Pasii executati in Matlab sunt reprezentati in fisierul .m de mai jos:


Figura 4.1 – fisierul .m

Figura 4.2 – Reprezenarea graphica a vectorului z in functie de n si m.

b) t=|10-n |, reprezentat graphic în fincție de n=0:20.


Am introdus vectorul t utilizînd comada :
>> t=abs(10-n)
n a fost gnerat în punctul precedent.
Rezultatul este reprezentat în figura 4.3 de mai jos.

Figura 4.3 – Reprezentarea grafică a vectorului t, în funcție de n.


c) Functiile necesare pentru executarea conditiei din acest pun sunt reprezentate in fisierul
.m din figura 4.4.

Figura 4.4 - Continutul fisierului .m/


Figurile 1 si 2 cu grafice sunt reprezentate in figurile 4.5 si 4.6

Figura 4.5 - Figura 1


Figura 4.6 – Figura 2
Reprezentarea figurelor 1 si 2 prin functia plot, in loc de stem sunt reprezentate in figura 4.7.

Figura 4.7 - Figurile 1 si 2 reprezentate prin functia plot.


Exerciţiul 5:
a) Modificaţi pasul de variaţie a variabilei t la 0.01 şi apoi la 0.0002. Comentaţi diferenţele.

Figura 5.1 – Reprezentarea grafica a semnalului sinusoidal


In figura 5.1 este reprezentat grafic semnalul sinusoidal din exemplul dat. Figura 5.1 a)
reprezinta graficul cu pasul de variaţie a variabilei t = 0.01, iar b) pasul de variaţie a variabilei
t=0.0002
Diferenta dintre aceste doua grafice se poate explica prin faptul ca primul semnal este
aperiodic, iar al doilea este periodic.
b) Măsuraţi pe grafic perioada semnalului sinusoidal în cele 3 situaţii.

Figura 5.2 – Reprezentarea grafica a semnalului sinusoidal cu t = 0.001


Figura 5.3 – Reprezentarea grafica a semnalului sinusoidal cu t = 0.01

Figura 5.4– Reprezentarea grafica a semnalului sinusoidal cu t = 0.0002


Putem calcula perioada doar pentru cazul 1 si 3, deoarece sunt semnale periodice. Perioada
in aceste exemple este egala cu 0.02.
c) Generaţi un semnal cosinusoidal de frecvenţă 20 Hz pe care să-l reprezentaţi cu culoare
roşie pe acelaşi grafic peste semnalul sinusoidal.
Figura 5.6– Reprezentarea grafica a semnalului cosinusoidal de frecvenţă 20 Hz
Functiile pentru reprezentarea grafica a semnalului cosinusoidal de frecvenţă 20 Hz sunt
reprezentate in figura 5.7 de mai jos

Figura 5.7– Fisierul .m

Exerciţiul 6:
Să se genereze vectorul x conținând valorile 1, 2, 3, ..., 99, 100 și vectorul y având valorile
2, 4, 6, 8, ..., 198, 200.
a) să se reprezinte grafic y în funcție de x folosind funcția stem.
Figura 6.1– Reprezentarea grafica folosind funcția stem

b) să se reprezinte grafic y în funcție de x folosind funcția plot.

Figura 6.2– Reprezentarea grafica folosind funcția plot

c) să se reprezinte grafic în aceeași figură, în același sistem de coordonate, y în funcție de x


folosind funcțiile plot și stem (se vor folosi culori diferite).
Figura 6.3– Reprezentarea grafica folosind funcția stem si plot

d) să se reprezinte grafic în aceeași figură, în sisteme de coordonate diferite, y în funcție de


x folosind funcția plot și y în funcție de x folosind funcția stem.

Figura 6.4– Reprezentarea grafica folosind funcția stem si plot in coordinate diferite.

Exerciţiul 7:
1. Fie f o funcţie reală de o variabilă reală, precizată de următorii vectori:
x=[-2 -1.5 0 0.5 2.5 3];
y=[6 9 11 10 7 5].
Să se aproximeze derivata de ordinul I a funcţiei f în punctele:
a) -2, 0 şi 2.5, folosind diferenţe progresive;
Comenziile necesare pentru executarea sarcinei sunt afisate in fisireul.m de mai jos:

Figura 7.1 – Fisierul .m


Rezultatule obtinute sunt urmatoarele:
f'(-2) = 6
f'(0) = -2
f'(2.5) = -4
b) -1.5, 0 şi 3, folosind diferenţe regresive;
Comenziile necesare pentru executarea sarcinei sunt afisate in fisireul.m de mai jos:

Figura 7.1 – Fisierul .m


Rezultatule obtinute sunt urmatoarele:

f'(-1.5) = 6
f'(0) = 1.3333
f'(3) = -4
c) -0.75, 0.25, 0.5 şi 1, folosind diferenţe centrate.
Comenziile necesare pentru executarea sarcinei sunt afisate in fisireul.m de mai jos:
Figura 7.2 – Fisierul .m
Rezultatul este reprezentat in figura 7.3.

Figura 7.3 – Rezulatul aproximarii derivatei de ordinul I a funcţiei f în punctele date


folosind diferenţe centrate

Să se reprezinte grafic în aceeaşi fereastră grafică derivata de ordinul I a funcţiei f, obţinută


prin aproximare cu cele trei tipuri de diferenţe finite.
2. Fie funcţia polinomială f : R → R, 𝑓(𝑥) = 𝑥 4 + 13 ∗ 𝑥 3 − 7 ∗ 𝑥 2 + 𝑥 − 1.
a) Să se calculaze derivata funcţiei f pentru valorile -2, -1.3, 0.1 şi 2.45

Figura 7.4 – Rezulatul derivatei


b) Să se reprezinte grafic derivata funcţiei f pe intervalul [-2,3]
Figura 7.5 – Graficul derivatei funcţiei f pe intervalul [-2,3].
Comenzile pentru subpunctele a) si b) sunt afisate in figura 7.6.

Figura 7.6 – Fisierul .m


𝜋
3. Să se calculeze∫0 𝑓(𝑥)𝑑𝑥 , unde funcţia f este dată prin relaţiile:

Comenzile folosite sunt aratate în fișierul .m din figura 7.7, iar rezulatul calcului în figura
7.8.

Figura 7.7 – Fisierul .m


Figura 7.8 – Rezultatul calcului.
4. Să se calculeze integrala :

În figura 7.9 este arătat codul fișierului .m, unde este expus codul necesar pentru calcularea
integralei.

Figura 7.9 – Fișierul .m.


În figura 7.10 este arătat rezulatul calcului

Figura 7.10 – Rezulatul integralui


Concluzii:
În această lucarea de laborator am însușit elementrle de bază din Matlab. În decursul lucrării
am definit o matrice și am efectuat operatii cu acestea. Am mai elaborate fișiere script,
reprezentat grafice și implementat funcțiile pachetului de programe Matlab.

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