introducere În calculul matriceal

5
1 1. Introducere în calculul matriceal În mediul de programare MATLAB, o matrice reprezintă o reţea (tablou) dreptunghiulară de numere. O semnificaţie specială li se atribuie uneori matricelor 1 x 1, care sunt scalari, şi matricelor cu un singura rând sau coloană, care sunt vectori. Practic, noţiunea fundamentală în MATLAB este aceea de vector: cu una două sau mai multe dimensiuni. Software-ul MATLAB dispune şi de alte căi de a stoca atât date numerice cât şi şiruri de caractere, însă, la început, cel mai bine să se considere totul ca o matrice. Operaţiile în MATLAB sunt concepute să fie cât mai natural posibil. Acolo unde alte limbaje de programare lucrează cu câte un numar, pe rând, MATLAB permite să se lucreze repede şi uşor cu întreaga matrice. Un bun exemplu de matrice, folosit în această lucrare, apare şi în gravura renascentista Melencolia I, realizată de artistul german, amator de matematică în acelaşi timp, Albrecht Dürer. Această imagine este încărcată de simbolism matematic, şi dacă se priveşte cu atenţie, se va distinge o matrice în colţul din dreapta sus. Aceasta matrice este cunoscută ca pătratul magic, şi, pe timpul lui Dürer, mulţi credeau că are într-adevar proprietăţi magice. Şi chiar se dovedeşte că are câteva caracteristici fascinante care merită studiate.

Upload: razvan

Post on 29-Sep-2015

9 views

Category:

Documents


3 download

DESCRIPTION

În această lucrare sunt prezentate exemple de reprezentare grafică, calcul numeric, diferenţiere grafică sau de citire a datelor de pe grafic bazate pe anumite aplicaţii întâlnite în practică. Totodată sunt amintite şi principalele funcţii şi comenzi utilizate în programele scrise în spaţiul de programare MATLAB.

TRANSCRIPT

  • 1

    1. Introducere n calculul matriceal

    n mediul de programare MATLAB, o matrice reprezint o reea (tablou) dreptunghiular de numere. O semnificaie special li se atribuie uneori matricelor 1 x 1, care sunt scalari, i matricelor cu un singura rnd sau coloan, care sunt vectori. Practic, noiunea fundamental n MATLAB este aceea de vector: cu una dou sau mai multe dimensiuni.

    Software-ul MATLAB dispune i de alte ci de a stoca att date numerice ct i iruri de caractere, ns, la nceput, cel mai bine s se considere totul ca o matrice. Operaiile n MATLAB sunt concepute s fie ct mai natural posibil. Acolo unde alte limbaje de programare lucreaz cu cte un numar, pe rnd, MATLAB permite s se lucreze repede i uor cu ntreaga matrice. Un bun exemplu de matrice, folosit n aceast lucrare, apare i n gravura renascentista Melencolia I, realizat de artistul german, amator de matematic n acelai timp, Albrecht Drer.

    Aceast imagine este ncrcat de simbolism matematic, i dac se privete cu atenie, se va distinge o matrice n colul din dreapta sus. Aceasta matrice este cunoscut ca ptratul magic, i, pe timpul lui Drer, muli credeau c are ntr-adevar proprieti magice. i chiar se dovedete c are cteva caracteristici fascinante care merit studiate.

  • 2

    Matrice de intrare

    Cel mai potrivit mod de a ncepe programarea n MATLAB este asimilarea operaiilor cu matrice. Se apeleaz programul MATLAB i se urmeaz fiecare exemplu. n MATLAB o matrice se poate introduce n mai multe moduri astfel: se introduce o list explicit de elemente; se ncarc matricea din fiiere externe de date; se genereaz matricea folosind funcii interne; se creeaz matricea cu propriile funcii n fiiere .m.

    Se ncepe prin a introduce matricea lui Drer sub forma unei liste a elementelor sale. Trebuie doar s se urmeze cteva convenii de baz:

    se separa elementele unui rand prin blank-uri sau prin virgule. se folosete punctul i virgula, ; , pentru a marca sfritul fiecrui rnd. se ncercuiete ntreaga list de elemente cu paranteze ptrate, [ ]. Pentru a de introduce matricea lui Drer, se scrie pur i simplu, n fereastra de

    comand,

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

    MATLAB va afia matricea pe care tocmai s-a generat:

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

  • 3

    Aceasta matrice se potrivete cu numerele din gravura. Odat ce s-a introdus matricea, ea va fi n mod automat memorat n spaiul de lucru al MATLAB-ului. Se poate face referire la ea numind-o pur i simplu A. Acum ca exist matricea A n spaiul de lucru, trbuie cutate motivele pentru care aceasta matrice a fost gsit att de interesant. De ce este ea magica?

    sum, transpose, i diag

    Probabil este uor de observat c proprietile speciale ale unui ptrat magic au legatur cu numeroasele moduri de a-i aduna elementele. Dac se ia suma de pe oricare rnd sau coloana, sau cea de pe oricare dintre cele doua diagonale principale, se va obine de fiecare dat acelai numr. Dac se verific acest lucru folosind MATLAB-ul atunci ntr-adevr este o matrice special. Prima instruciune care se va ncerca este:

    sum(A)

    MATLAB-ul rspunde cu:

    ans = 34 34 34 34

    Atunci cnd nu se specific o variabil de ieire, MATLAB-ul folosete variabila ans, prescurtare de la answer, pentru a stoca rezultatele unui calcul. Dac s-a calculat un vector rnd, care conine sumele coloanelor lui A, este clar c elementele de pe fiecare coloana nsumeaz aceeai valoare, suma magic, 34.

    Dar sumele de pe randuri? MATLAB are o preferin pentru lucrul cu coloanele unei matrice, asa c, o modalitate de a obine sumele de pe rnduri este aceea de a transpune matricea, de a calcula apoi sumele de pe coloane ale transpusei, i, n cele din urm, transpunerea rezultatului. Pentru a alege o alt cale, prin care se evit dubla aciune de transpunere, se folosete argumentul dimensiune pentru funcia sum.

    MATLAB-ul dispune de doi operatori de transpunere. Operatorul apostrof (de exemplu, A') efectueaz o transpoziie conjugat complex. Aceasta inverseaz o matrice dup diagonala sa principal, i schimb de asemenea i semnul componentei imaginare a oricrui element complex al matricei. Operatorul punct-apostrof (de exemplu, A.'), transpune fr a afecta semnul elementelor complexe. Pentru matricele care nu conin ca elemente dect numere reale, ambii operatori returneaz acelai rezultat.

  • 4

    Astfel, A' produce:

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

    iar

    sum(A')'

    produce un vector-coloan care conine sumele de pe fiecare rnd

    ans = 34 34 34 34

    Suma elementelor de pe diagonala principal se obine cu ajutorul funciilor sum i diag:

    diag(A)

    produce rezultatul

    ans = 16 10 7 1

    iar

    sum(diag(A))

    produce

    ans = 34

    Cealalt diagonal, asa-numita antidiagonal, nu este att de important din punct de vedere matematic, aa c MATLAB nu are o funcie gata configurat pentru aceasta. ns exist o funcie care a fost iniial destinat utilizrii n programele de grafic, fliplr, care ntoarce o matrice de la stnga spre dreapta:

  • 5

    sum(diag(fliplr(A))) ans = 34

    Astfel s-a verificat dac matricea din gravura lui Drer este ntr-adevr un ptrat magic, i, n decursul prezentrii, s-au ncercat i cteva operaii MATLAB asupra matricei. Urmtoarele seciuni continu s foloseasc aceasta matrice pentru a ilustra capaciti suplimentare ale MATLAB-ului.

    Tem : S se scrie un program Matlab care s calculeze i/sau s afieze matricea Drer, transpusa matricei, suma elementelor pe coloane, diagonala principala, suma elementelor pe diagonala principal i antidiagonal.