Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... ·...

4
Introducere in MATLAB 1 Vectori In MATLAB pentru a crea o variabila de tip vector introducem componentele vectorului i8ntre paranteze patrate, element cu element, separindu-le prin spatii. De exemplu : a = [1 2 3 4 5 6 7 8 9 ] sa spunem ca dorim acum sa creem un vector cu elementele intre 0 si 20 din 2 in 2. Aceasta se poate obtine in MATLAB astfel : a =0 : 2 : 20 Sa presupunem acum ca dorim sa adunam 2 la fiecare element al vectorului a. aceasta se poate face prin comanda : b = a +2 Doi vectori se pot aduna element cu element daca au acelasi nume de componente. Numarul de componente al unui vector poate fi ontinut prin apelul functiei length ca de exemplu in length(a) Vectorii a si b de mai sus avand acelasi numar de componente, ii putem aduna c = a + b Scaderea a doi vectori functioneaza in mod absolut similar. 2 HELP Pentru a afla cum se utilizeaza o comanda, nu trebuie decit sa scriem in linia de comanda: help numecomanda 3 Grafica MATLAB Comanda plot . Daca y este un vector-linie , plot(y) deseneaza linia frinta intre punctele de coordonate (i, y(i)) cu i =1: length(y). Daca x si y sunt vectori-linie de aceiasi lungime, plot(x, y) deseneaza graficul cu punctele de abscisa (x(i) si ordonata y(i)). De exemplu : t=0:0.05:4*pi; y=sin (t); plot(t,y); 1

Transcript of Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... ·...

Page 1: Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... · Introducere in MATLAB 1 Vectori In MATLAB pentru a crea o variabila de tip vector introducem

Introducere in MATLAB

1 Vectori

In MATLAB pentru a crea o variabila de tip vector introducem componentele vectoruluii8ntre paranteze patrate, element cu element, separindu-le prin spatii. De exemplu :

a = [1 2 3 4 5 6 7 8 9 ]

sa spunem ca dorim acum sa creem un vector cu elementele intre 0 si 20 din 2 in 2.Aceasta se poate obtine in MATLAB astfel :

a = 0 : 2 : 20

Sa presupunem acum ca dorim sa adunam 2 la fiecare element al vectorului a. aceasta sepoate face prin comanda :

b = a + 2

Doi vectori se pot aduna element cu element daca au acelasi nume de componente.Numarul de componente al unui vector poate fi ontinut prin apelul functiei length ca deexemplu in

length(a)

Vectorii a si b de mai sus avand acelasi numar de componente, ii putem aduna

c = a + b

Scaderea a doi vectori functioneaza in mod absolut similar.

2 HELP

Pentru a afla cum se utilizeaza o comanda, nu trebuie decit sa scriem in linia de comanda:

help numecomanda

3 Grafica MATLAB

Comanda plot . Daca y este un vector-linie , plot(y) deseneaza linia frinta intre punctelede coordonate (i, y(i)) cu i = 1 : length(y). Daca x si y sunt vectori-linie de aceiasilungime, plot(x, y) deseneaza graficul cu punctele de abscisa (x(i) si ordonata y(i)). Deexemplu :

t=0:0.05:4*pi;

y=sin (t);

plot(t,y);

1

Page 2: Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... · Introducere in MATLAB 1 Vectori In MATLAB pentru a crea o variabila de tip vector introducem

4 Controlul ecranului

Pentru a desena intr-o noua fereastra, putem folosi comanda figure, pentru a desenamai multe grafice in aceeasi fereastra si in acelasi sistem de axe , putem folosi secventa decomenzi hold on - hold off.In sfirsit, comanda subplot (m,n, p), partitioneaza fereastraintr-o grila m ∗ n si deseneaza in sistemul de axe din casuta p.

Exercitiu. Desenati sin(ω ∗ t) pentru ω = 1 : 9 mai intai in ferestre diferite, apoi peacelasi grafic si in aceeasi fereastra, respectiv in aceeasi fereastra dar in sisteme de axediferite.

5 Matrice

Introducerea (definirea) unei matrice (data in mod explicit). Lista elementelor este de-limitata de simbolurile ”[” respectiv ”]” , elementele de pe aceeasi linie sunt separate prinspatiu (space) iar ” ; ”(punct si virgula - semicolon) marcheaza sfirsitul rindurilor. Deexemplu:

A=[ 1 2 3 ; 4 5 6 ; 7 8 9]

Operatiile uzuale cu matrici sunt posibile in MATLAB in cazul in care matricile suntcorespunzator dimensionate. Dimensiunile unei matrice sunt intoarse de apelul functieisize, ca de exemplu

[nr.linii, nr.coloane] = size(A)

Pentru a obtine matrici de un anumit ordin dar cu elemente aleatoare putem folosifunctia rand. De exemplu:

A = rand(4, 3)

Matricile identitate de ordin n pot fi obtinute cu ajutorul comenzii eye(n)

Exercitiu. Scrieti un fisier script in care sa definiti urmatoarele matrici Toeplitzavind ordinele 5, 6, 7, 8, 9, 10.

A =

1 2 3 4 . . .2 3 4 . . . . . .3 4 . . . . . .4 . . . . . ....

Sunt de asemmenea posibile operatii asupra matricelor la nivel de element. De exem-plu, pentru a aduna matricele A si B de dimensiuni adecvate element cu element folosimcomanda

C = A . + B

In mod similar pentru inmultirea element cu element.

2

Page 3: Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... · Introducere in MATLAB 1 Vectori In MATLAB pentru a crea o variabila de tip vector introducem

6 Alte Operatii cu vectori.

In MATLAB polinoamele se reprezinta prin vectori linie, continand coeficientii in ordineadescrescatoare a puterilor nedeterminatei. De exemplu polinomul p[X] = X4 + 2 ∗X3 +3 ∗X2 + 4 ∗X + 5 il introducem in MATLAB ca fiind vectorul

p = [ 1 2 3 4 5 ]

MATLAB poate interpreta un vector de lungime n + 1 ca un polinom de grad n. Astfelca daca unui polinom ii lipsesc coeficienti, trebuie introduse zerouri in locurile respectiveale vectorului. De exemplu pentru X4 + 1 introducem

p = [ 1 0 0 0 1 ]

O functie polinomiala oarecare poate fi evaluata intr-un punct folosind functi MATLAbpolyval. De exemplu pentru a evalua polinomul de mai sus in punctul i+1 ( unde i =

√−1) scriem in fereastra de comanda

polyval(p, i + 1)

Exercitiu. Evaluati functia polinomiala determinata de polinomul de mai sus inpunctele i ∗ ω pentru ω = 0 : 0.01 : 2 ∗ pi, folosind functia polyval. Folositi func-tia MATLAB conv pentru a determina polinomul P [X] ∗ P [X].

Exercitiu. Folosind functia MATALAB deconv (utilizati help-ul pentru a vedea modulde apel) faceti impartirea polinomului X4 + 2 ∗X3 + 3 ∗X2 + 4 ∗X + 5 la X4 + 1.

Exercitiu. Folosind functia MATLAB roots, calculati radacinile urmatorului polinomP [X] = X4 + 2 ∗X3 + 3 ∗X2 + 4 ∗X + 5 si comparati-le cu valorile proprii ale matriceide mai jos :

A =

−2 −3 −4 −51 0 0 00 1 0 00 0 1 0

Valorile proprii ale unei matrice se pot obtine apelind functia MATLAB eig.

7 Functii.

Atunci cand introducem o comanda ca de exemplu polyval sau roots in MATLAB, defapt rulam un fisier ”m” cu date de intrare si respectiv cu date de iesire, care a fost scrissa realizeze anumite lucruri. Aceste tipuri de fisiere ”m” sunt similare subrutinelor dinlimbajele de programare prin aceea ca au intrari (parametri care sunt transmisi fisierelor”m”), iesiri (date care sunt intoarse de fisierul ”m”) si un corp de comenzi care poatecontine variabile locale. MATALABUL numeste aceste fisiere ”m” - functii. Este posibilsa ne scriem propriile noastre functii folosind comanda function.

Noua functie trebuie sa fie continuta intr-un fisier cu extensia ”m”. Acest fisier trebuiesalvat in acelasi director cu software-ul MATLAB sau intr-un director continut in caleade cautare a MATLAB. Prima linie a fisierului trebuie sa contina obligatoriu urmatoareasintaxa:

3

Page 4: Introducere in MATLAB 1 Vectori - profs.info.uaic.rofliacob/An2/2007-2008/Resurse de curs... · Introducere in MATLAB 1 Vectori In MATLAB pentru a crea o variabila de tip vector introducem

function [iesire1,iesire2] =filename (intrare1, intrare2, intrare3)

O functie poate avea oricite variabile de itrare sau de iesire este necesar. Urmatoarelelinii contin textul care va apare atunci la apelul

help filename

Acest text este optional, dar trebuie introduse folosind caracterul ”in fata fiecarei linii, inacelasi mod in care introducem comentarii intr-un fisier ”m” obisnuit.

Scrierea de functii MATLAB poate fi o sarcina dificila, asa ca va fi nevoie de putinexercitiu pentru a reusi crearea de functii care sa realizeze sarcina dorita. Dam mai josun exemplu simplu care arata cum ar arata functia adunare.m

function [var3] =adunare (var1, var2)

%adunare este o functie care aduna doua numere

var3=var1+var2

Daca salvati aceasta secventa intr-un fisier MATLAB numit ”adunare.m” atunci oputeti folosi scriind in linia de comanda

y=adunare(3,8)

4