Sunteți pe pagina 1din 12

LUCRAREA 1 INTRODUCERE IN MATLAB

1. Introducere

MATLAB este un pachet de programe dedicat calcului numeric i reprezent#rilor grafice. Elementul de baz# cu care opereaz# este matricea, de aici provenind i numele s#u: MATrix LABoratory. Resursele sale de calcul i reprezentare grafic# sunt bogate, permi&nd opera&ii matematice fundamentale, analiza datelor, programare, reprezent#ri grafice 2D i 3D, realizarea de interfe&e grafice etc. Din punct de vedere al construc&iei sale, MATLAB este alc#tuit dintr-un nucleu de baz# n jurul c#ruia sunt grupate TOOLBOX-urile. Acestea reprezint# ni te aplica&ii specifice, fiind de fapt colec&ii extinse de func&ii MATLAB care dezvolt# mediul de programare de la o versiune la alta, pentru a rezolva probleme din diverse domenii.

2. Comenzi i func#ii principale n MATLAB


MATLAB opereaz# cu dou# tipuri de ferestre: 1. fereastra de comenzi; 2. fereastra pentru reprezent#ri grafice. La deschiderea programului MATLAB va ap#rea pe ecranul calculatorului fereastra de comenzi, avnd n partea de sus bara de meniuri aferent#. Simbolul >> reprezint# prompterul MATLAB i se afl# la nceputul fiec#rei linii de comand# din fereastra de comenzi. Ferestrele pentru reprezent#ri grafice vor ap#rea atunci cnd se va cere prin comenzi specifice afi area unor grafice. Aten ie: Comenzile introduse anterior pot fi readuse n linia de comand prin folosirea s ge#ilor de la tastatur , ' $i ( (c utarea se face ca ntr-o list ).

3. Func#ii MATLAB de interes general


help furnizeaz# informa&ii despre MATLAB i func&iile acestuia. Sintax : help nume furnizeaz# informa&ii despre nume (poate fi un nume de func&ie sau un nume de director). Exemplu: help fft furnizeaz# informa&ii despre transformata Fourier discret#. who listeaz# numele variabilelor din spa&iul de lucru. whos furnizeaz# informa&ii suplimentare referitoare la variabilele din spa&iul de lucru (nume, dimensiune etc.). format stabile te formatul extern de afi are al numerelor pe ecran. Sintaxa: format op&iune parametrul op&iune poate fi: - short 5 cifre // formatul implicit - long 15 cifre - short e 5 cifre + exp (puteri ale lui 10) - long e 15 cifre + exp (puteri ale lui 10) etc. Pentru mai multe informa&ii tasta&i help format. Exemple: format short x=pi ) x = 3.1416 format long x)x= 3.14159265358979 S# se verifice i celelalte tipuri de format folosind aceea i valoare x. clear terge din memorie una sau mai multe variabile. Sintaxe: clear v terge din memorie variabila v.

clear v1 v2 terge din memorie variabilele v1 i v2 (sintaxa e valabil# pentru oricte variabile). clear terge din memorie toate variabilele definite pn# n acel moment. lookfor listeaz# toate numele de fi iere care au n prima linie a help-ului cuvintele men&ionate ca argument, precum i prima linie din help.

4. Definirea variabilelor
Variabilelor li se atribuie valori numerice, tip#rindu-se direct expresia numeric#. De exemplu a=1+2 conduce la rezultatul: a= 3 Rezultatul nu se afi eaz# dac# se pune punct i virgul# la sfr itul expresiei, de exemplu a=1+2; n MATLAB se utilizeaz# urm#torii operatori aritmetici:

Unei variabile i se poate atribui o formul# ce utilizeaz# operatorii men&iona&i anterior i una sau mai multe m#rimi definite anterior chiar n cadrul comenzii curente. De exemplu, presupunnd c# a este definit# anterior: b=3^a va returna valoarea: b=

27 Exist# variabile predefinite: i=sqrt(-1) j=sqrt(-1) pi=3,1416... etc. Exemplul 1 y=2*(1+4*j) conduce la y= 2.0000+8.0000i Pentru definirea variabilelor exist# un num#r de func&ii predefinite, dintre care, cele mai uzuale pentru prelucrarea semnalelor, sunt prezentate n Tabelul 1.

Tabelul 1 De exemplu, cu y din exemplul anterior, comanda: c=abs(y) conduce la: c= 8.2462 sau: u=angle(y) la: u= 1.3258 Se face observa&ia c# func&ia exp se poate utiliza cu numere complexe, de exemplu, cu acela i y, comanda: d=exp(y)

conduce la: d= -1.0751+7.3104i fapt evident, verificabil utiliznd formula lui Euler d = ey = eRey+ j Imy = e2(cos8 + j sin8)

5. Definirea scalarilor, vectorilor i matricelor


MATLAB-ul este un pachet de programe care lucreaz# numai cu un singur tip de obiecte, matrice numerice rectangulare, cu elemente reale sau complexe. n acest sens scalarii sunt asimila&i matricelor cu o linie i o coloan# (1 1), iar vectorii sunt asimila& i matricelor cu o linie (1 n) sau o coloan# (n 1). Introducerea matricelor n mediul de lucru se face prin una din metodele: introducerea explicit#; generarea prin instruc&iuni i funcⅈ crearea de fi iere M; nc#rcarea din fi iere de date externe. Cea mai simpl# metod# const# n utilizarea unei liste explicite. Trebuie respectate urm#toarele reguli: elementele unei linii trebuie separate prin spa&ii libere sau virgul#; liniile se separ# prin punct-virgul# ;; elementele matricei sunt cuprinse ntre paranteze drepte [ ] . Elementele matricelor pot fi numere reale sau complexe sau orice alt# variabil# MATLAB. Elementele unei matrice A pot fi identificate, n MATLAB, prin nota&ia A(i,j) i semnific# elementul de la intersec&ia liniei i cu coloana j. Pentru a face referire la un element al matricei sunt necesari doi indici, iar referirea la un element al unui vector se face cu un singur indice. Exemplul 2 Matricele sunt definite introducnd elementele linie cu linie: A=[1 2 3; 3 6 8]

Aceast# comand# creeaz# matricea 1 2 3 A= 3 6 8 Comanda A(2,1) afi eaz# rezultatul: ans = 3 Se remarc# faptul c# dac# se atribuie o valoare unui element care ocup# o pozi&ie n afara dimensiunii maxime a unei matrice sau unui vector, dimensiunea acesteia/acestuia este m#rit# automat pn# la valoarea indicelui noului element, iar elementele nedefinite sunt setate la valoarea zero. Exemplul 3 Comanda: A(2,5)=4 creeaz# matricea: 1 2 3 0 0 A= 3 6 8 0 4 Comanda size(A) returneaz# dimensiunea matricei A. Se definesc mai multe matrice particulare: matricea vid# A=[ ] matricea nul# de ordin n m : A= zeros(n,m) matricea unitar# de ordin n m : A= ones(n,m) matricea cu diagonal# 1, de ordin n n A= eye(n) Vectorii pot fi defini&i n dou# moduri: introducerea explicit# a componentelor vectorului; Exemplul 4 Comanda: v=[1 2 3 4 5 ] creeaz# un vector cu o linie i 5 coloane. Comanda: v(6)=6 conduce la vectorul: v=[1 2 3 4 5 6]

Fie vectorul 1 c= 2 3 A adar c(2) = 2 . Al doilea mod este utilizat pentru a crea vectori cu elemente egal spa&iate prin comanda: k=amin:pas:amax unde amin este valoarea primului element din vector, pas este valoarea incrementului, amax limita pn# la care pot lua valori componentele vectorului. Dac# incrementul lipse te, atunci implicit valoarea sa este 1. Exemplul 5 k=0:0.5:5.1 creeaz# un vector cu elementele 0, 0.5, 1, 1.5,....5 . Comanda length(v) returneaz# lungimea vectorului v.

6. Opera#ii cu matrice
Fie X i Y dou# matrice. Se definesc urm#toarele opera&ii a) adunarea i sc#derea, definite pentru cazul n care dimensiunile matricei X sunt egale cu dimensiunile matricei Y: Z=X+Y Z=X-Y b) nmul&irea, definit# atunci cnd X are dimensiunile (m n) iar Y (n p) Z=X*Y c) mp#r&irea la dreapta, definit# atunci cnd X are dimensiunile (n n) iar Y (n n) Z=X/Y i este identic# cu X*Y-1 (Y-1 este inversa matricii Y). d) nmul&irea element cu element (ntre componentele a dou# matrice de acelea i dimensiuni) Z=X.*Y

e) mp#r&irea la stnga Z=X\Y este identic# cu X-1*Y (X-1 este inversa matricii X). f) ridicarea la putere Z=X^p reprezint# ridicarea la puterea p a matricei X. Expresia X^p are sens numai pentru matrice p#tratice i p scalar. g) ridicarea la putere a elementelor unui vector/matrice Z=X.^p h) ridicarea la puterea elementelor unui vector/matrice a unui scalar Z=p.^X i) transpunerea Z=X Acest lucru face ca pentru o matrice cu dimensiunea n m s# se ob&in# o matrice Z cu dimensiunea m n. i. Opera#ii cu vectori Opera&iile cu vectori se efectueaz# prin particularizarea regulilor de la opera&ii cu matrice impunnd ca una din dimensiuni sa fie egal# 1, acolo unde dimensiunea permite acest lucru. Produsul scalar a doi vectori se poate calcula n urm#toarele moduri: z= sum(a.*b) dac# vectorii a i b sunt amndoi fie vectori coloan# fie vectori linie sau z=(a*b) dac# a i b sunt vectori linie. Observa#ie: vectorii a i b trebuie s# fie de aceea i dimensiune. ii. Construirea unei func#ii Mediul de programare Matlab ofer# posibilitatea cre#rii unei func&ii ce folose te func&ii Matlab, func&ii definite anterior, operatori predefini&i etc. Numele fi ierului n care este scris# func&ia trebuie s# fie identic cu numele func&iei. De asemenea, prima linie a fi ierului trebuie s# con&in# sintaxa caracteristic# defini&iei unei func&ii: function var_returnate = nume_functie(var_intrare)

De exemplu, o func&ie ce realizeaz# suma a dou# variabile x i y, rezultatul fiind returnat n variabila z, se realizeaz# astfel: function z=xplusy(x,y); z=x+y; Fi ierul astfel scris se salveaz# sub denumirea xplusy.m . Func&ia definit# anterior poate fi apelat# din linia de comenzi Matlab, dintr-un script sau dintr-o alt# func&ie. De exemplu: >>a=1;b=2; c=xplusy(a,b);

7. Reprezent$ri grafice elementare


Func&iile de baz# MATLAB pentru reprezent#rile grafice sunt: plot loglog semilogx semilogy Pentru reprezentarea graficelor n coordonate liniare se utilizeaz# func&ia plot. Func&ia plot se apeleaz# cu una din sintaxele: plot (y) Dac# argumentul y este complex, plot(y) este echivalent cu: plot(real(y), imag(y)). Dac# y este un vector real (linie sau coloan#), atunci func&ia plot traseaz# graficul y=y(i), unde i=1,2,L este num#rul de ordine al elementului y, L fiind lungimea vectorului y. plot (x,y) reprezint# vectorul y func&ie de vectorul x. Dac# x este vector, iar y este matrice, atunci coloanele lui y sunt trasate n func&ie de vectorul x, rezultatul fiind reprezentarea mai multor grafice n aceea i fereastr# grafic#. Dac# x i y sunt matrice de aceea i dimensiune, atunci se reprezint# coloanele lui y n func&ie de coloanele lui x. plot (x,y,linie tip) linie tip fiind o succesiune de caractere

(vezi Tabelul 2) care specific# tipul liniei cu care este trasat graficul. plot (x1,y1,x2,y2,) reprezint# simultan mai multe grafice, n acela i sistem de coordonate i n aceea i fereastr# grafic#. Graficele se pot trasa utiliznd linii i markere de diferite culori. Acest lucru este prezentat n Tabelul 2.

Tabelul2

8. Reprezentarea discret$ a datelor


Reprezentarea discret# a datelor se face cu func&ia stem sub forma unor linii terminate cu cercule&. Se apeleaz# cu una din sintaxele: stem(y) traseaz# un grafic y=y[i], i=1,2,3 ....L din linii terminate cu cercule& stem(x,y) traseaz# un grafic cu linii terminate cu cercule&, cu loca&iile specificate de vectorul x. Valorile lui x trebuie s# fie egal spa&iate. stem(x,ylinie-tip) este similar# func&iei plot(x,y,linie tip), cu deosebirea c# se traseaz# graficul cu linii terminale cu cercule&. Observa#ie: att la func&ia plot ct i la func&ia stem lungimile vectorilor de pe abscis# i ordonat# trebuie sa fie egale.

9. Personalizarea graficelor
Pentru plasarea n cmpul graficelor a unor texte, etichete ale axelor, precum i a titlului se utilizeaz# urm#toarele func&ii: title(text) comand# prin care titlul graficului se plaseaz# deasupra acestuia; text fiind un ir de caractere care reprezint# titlul graficului;

xlabel(text) precizeaz# eticheta axei x; text fiind un ir de caractere care reprezint# numele axei, unitatea de m#sur# etc.; ylabel(text) precizeaz# eticheta axei y; text fiind un ir de caractere care reprezint# numele axei, unitatea de m#sur# etc.; grid on traseaz# o re&ea de linii orizontale i verticale pe grafic grid off elimin# re&eaua de linii orizontale i verticale trasate pe grafic de grid on Exemplul 6 1. S# se reprezinte grafic func&ia f (t) = sin (2*70t), cu culoarea neagr# i linie punct i g(t) = + f (t) cu markere * de culoare verde. S# se scrie titlul graficele func&iilor f(t) si g(t), pe axa x s# se scrie t, iar pe axa y s# se scrie f(t) i g(t). t=0:.001:0.02 f=sin(2*pi*70*t) g=-f plot(t,f,'-.k',t,g,'*g'),grid on title('Graficele functiilor f(t) si g(t)') xlabel('t'), ylabel('f(t) si g(t)')
Graficele functiilor f(t) si g(t) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02

10 Aplicatii propuse
1. Operarea cu matrice, vectori i scalari Se dau matricele: A=[4 6 9;1 1 1;2 3 2] B=[2 7 4;5 2 8;15 0 0] i scalarul p=2. S# se calculeze n MATLAB: a) 1. C1=A+B, 2. C2=A-B, 3. C3=A+p, 4. C4=A*B, 5. C5=A*p, 6.D=A,

7. E=B, 8. Z=A/B, 9.W=A\B, 10.Y=A^p


b) S# se genereze un vector cu pas liniar, cu limitele: amin = 2, amax = 10, pas = 2 c) S# se genereze un vector cu pas liniar, cu limitele: amin = 2, amax = 10, N = 5 , unde N este num#rul de elemente. d) Fie un vector y=1:0.11:123 . S# se calculeze lungimea vectorului y i s# se genereze un vector cu toate elementele 1 de lungime egal# cu lungimea vectorului y. e) S# se efectueze produsul scalar al vectorilor: a=[2 3] b=[-4 4] f) S# se calculeze produsul element cu element al matricilor: X=[1 2 3;4 5 6;7 8 9] Y=[0 1 0;0 1 0;0 1 0] 2. Reprezentarea grafic$ S# se reprezinte grafic func&ia discret#: x(n) = sin( 2p 1 n) pentru n = 0,20 10

Graficul s# fie de culoare ro ie, reprezentat cu stelu&e (*) (a se face apel la comanda help stem) . S# se scrie titlul i identific#rile axelor. 3. Realizarea unei func#ii S# se creeze o func&ie, denumit# prod.m, prin care se face produsul scalar a doi vectori linie x i y, de aceea i lungime.

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