Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Matlab


Qdidactic » stiinta & tehnica » informatica » matlab
Matrici, vectori si polinoame



Matrici, vectori si polinoame


Matrici, vectori si polinoame


Pentru a lucra usor si bine cu limbajul MATLAB trebuie in primul rand sa se invete manipularea matricilor. In MATLAB, o matrice este un tablou dreptunghiular de numere. Scalarii de exemplu sunt matrici 1 x 1, iar matricile cu o singura linie sau coloana sunt de fapt vectori.



Introducerea matricilor

Matricile se pot introduce in mai multe moduri.

  • Introducerea unei liste explicite cu elementele matricei.
  • Incarcarea unor date din fisere externe de date.
  • Generarea de matrici utilizand functii built-in.
  • Crearea de matrici in fisierele M-files.

Vom introduce matricea lui Dürer mai intai ca o lista de elemente.

Trebuie respectate cateva conventii simple:

q      Elementele unei linii sunt separate prin virgule sau spatii.

q      Sfarsitul unei linii se marcheaza cu punct si virgula.



q      Lista de elemente care formeaza matricea se delimiteaza cu paranteze drepte:


Pentru introducerea matricii lui Dürer tastam:


» A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

MATLAB-ul va afisa matricea:

A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1


O data introdusa, matricea este memorata in workspace si poate fi apelata simplu, ca A

Sa vedem acum: de ce este magica?


sum, transpose, diag

Caracterul magic deriva din faptul ca prin efectuarea unor operatii asupra elementelor matrici rezulta numere interesante si surprinzatoare.

Daca de exemplu insumam elementele pe orice linie sau coloana sau de pe cele doua diagonale, vom obtine acelasi numar.

Sa verificam acest lucru cu MATLAB-ul. Suma elementelor de pe cele 4 coloane se calculeaza rapid cu:

» sum(A)
ans =
34 34 34 34

Pentru calcularea sumelor pe linii, efectuam intai transpunerea matricii si apoi aplica din nou comanda sum.

Transpusa se calculeaza cu:

» A'
ans =
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1

si apoi

» sum(A')'
ans =
34
34
34
34


Suma elementelor de pe diagonala se calculeaza cu tot cu functia sum, dar dupa ce in prealabil vom sorta cu functia  diag elementele de pe diagonala principala:

» diag(A)
ans =
16
10
7
1
» sum(diag(A))
ans =
34

Un anume element al matricii, de exemplu elementul din linia i coloana j se noteaza A(i,j)

Prin urmare o alta cale (mai putin rapida) de a calcula suma de pe patra coloana de exemplu este urmatoarea:


» A(1,4) + A(2,4) + A(3,4) + A(4,4)
ans =
34

Daca specificam un element care nu exista in matrice, primim un mesaj de eroare:


» t = A(4,5)
Index exceeds matrix dimensions.

Operatorul :

Operatorul  : este foarte important. De exemplu, expresia


este un vector linie

ans =

1 2 3 4 5 6 7 8 9 10

Alte exemple:



ans =

100 93 86 79 72 65 58 51

» 0:pi/4:pi

ans =

0 0.7854 1.5708 2.3562 3.1416

Expresia

A(1:k,j)

Se refera la primele k elemente ale coloanei j a lui A


Daca este utilizat in paranteze operatorul : atunci inseamna ca ne referim la toate elementele unei linii sau coloane


» sum(A(:,3))

calculeaza suma elementelor din coloana a treia a lui A

ans =
34

O alta proprietate interesanta a patratului magic este ca suma magica 34 este obtinuta si prin insumarea elementelor matricii si prin impartirea la dimensiunea matricii (4):


» sum(1:16)/4
ans =
34

Observatie: suma magica pentru orice patrat magic n x n este (n3 + n)/2 (se poate calcula cu ajutorul Symbolic Math Toolbox).


Functia magic

MATLAB-ul are o functie built-in care creeaza patrate magice de orice dimensiune (functie pe care deja am utilizat-o):


» B = magic(4)
B =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Aceasta matrice este aproape identica cu matricea lui Dürer singura diferenta fiind ca cele doua coloane din mijloc sunt schimbate intre ele. Pentru obtinerea din B a matricii lui Dürer se poate utiliza urmatoarea comanda MATLAB:


» A = B(:,[1 3 2 4])
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1


Polinoame


Polinoamele sunt descrise in MATLAB prin vectori linie ale caror elemente sunt de fapt coeficientii polinoamelor in ordinea descrescatoare a puterilor.


Exemplu: polinomul p(x)=x3+5x+6 este reprezentat in MATLAB astfel:


p = [1 0 5 6]


Un polinom poate fi evaluat pentru o valoare a lui x cu ajutorul functiei polyval:


» polyval(p,1)

ans=

12


In exemplul de mai sus este evaluat polinomul p in punctul x =1.


Se pot afla cu usurinta radacinile polinomului folosind functia roots:


» r=roots(p)

r =

0.5000 + 2.3979i

0.5000 - 2.3979i

-1.0000


Exista numeroase alte functii si comenzi care se ocupa cu operatii asupra polinoamelor, functii care vor fi abordate intr-un capitol special. Dintre acestea amintim comanda care permite inmultirea a doua polinoame, si anume conv:


» p1=[1 3 5]

p1 =

1 3 5


» p2=[2 0 1 0 5]

p2 =

2 0 1 0 5


» p3=conv(p1,p2)

p3 =

2 6 11 3 10 15 25




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright