E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Matlab

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

APLICATII DEDICATE  /  Matlab  /  Diverse (9)

Matrice si patrate magice

04.08.2008
Matrice si patrate magice

Cel mai potrivit mod de a incepe sa lucrezi in MATLAB este sa inveti cum sa te manipulezi matricele. Porneste MATLAB si urmeaza fiecare exemplu.

Total vizualizari: 18852 18852 afisari   |   Comentarii  1   |   Rating   |   (6 voturi)   |   Timp necesar: 20 min 20 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Mathworks.com  
Autor:  Mathworks.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1 2 »
comenteaza printeaza

Despre matrice

In mediul MATLAB® , o matrice reprezinta o retea dreptunghiulara de numere. O semnificatie speciala li se atribuie uneori matricelor 1 la 1, care sunt scalari, si matricelor cu un singura rand sau coloana, care sunt vectori.

MATLAB dispune si de alte cai de a stoca atat date numerice cat si nenumerice, insa, la inceput, este cel mai bine sa gandim totul ca o matrice. Operatiile in MATLAB asunt concepute sa fie cat mai naturale posibil. Acolo unde alte limbaje de programare lucreaza cu cate un numar, pe rand, MATLAB iti permite sa lucrezi repede si usor cu intreaga matrice. Un bun exemplu de matrice, folosit in aceasta lucrare, apare si in gravura renascentista Melencolia I, realizata de artistul german, amator de matematica in acelasi timp, Albrecht Dürer.

Matrice si patrate magice

Aceasta imagine este incarcata de simbolism matematic, si daca te uiti cu atentie, vei distinge o matrice in coltul din dreapta sus. Aceasta matrice este cunoscuta ca patratul magic, si, pe timpul lui Dürer, multi credeau ca are intr-adevar proprietati magice. Si chiar se dovedeste ca are cateva caracteristici fascinante care merita explorate.

Matrice si patrate magice

Matrice de intrare

Cel mai potrivit mod de a incepe sa lucrezi in MATLAB este sa inveti cum sa te manipulezi matricele. Porneste MATLAB si urmeaza fiecare exemplu.
Poti introduce matrice in MATLAB in mai multe moduri:
Introdu o lista explicita de elemente.
Incarca matrice din fisiere extern de date.
Genereaza matrice folosind functii interne.       
Creeaza matrice cu propriile tale functii in fisiere M.

Incepe prin a introduce matricea lui Dürer sub forma unei liste a elementelor sale. Trebuie doar sa urmezi cateva conventii de baza:
Separa elementele unui rand prin blank-uri sau prin virgule.                           
Foloseste punctul si virgula, ; , pentru a marca sfarsitul fiecarui rand.
Incercuieste intreaga lista de elemente cu paranteze patrate, [ ].
Pentru a introduca matricea lui Dürer, scrie pur si simplu, in fereastra de comanda,

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

MATLAB va afisa matricea pe care tocmai ce ai introdus-o:

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

Aceasta matrice se potriveste cu numerele din gravura. Odata ce ai introdus matricea, ea va fi in mod automat memorata in spatiul de lucru al MATLAB. Poti face referire la ea numind-o pur si simplu A. Acum ca il ai pe A in spatiul tau de lucru, arunca o privire la ce anume o face atat de interesanta. De ce este ea magica?

sum, transpose, si diag

Probabil deja incepi sa iti dai seama ca proprietatile speciale ale unui patrat magic au legatura cu numeroasele moduri de a-i aduna elementele. Daca iei suma de pe oricare rand sau coloana, sau cea de pe oricare dintre cele doua diagonale principale. Vei obtine de fiecare data acelasi numar. Sa verificam acest lucru folosind MATLAB. Prima instructiune pe care o vom incerca este:

sum(A)

MATLAB raspunde cu:

ans =
  34 34 34 34

Atunci cand nu specifici o variabila de iesire, MATLAB foloseste variabila ans, prescurtare de la answer, pentru a stoca rezultatele unui calcul. Ai calculat un vector rand, care contine sumele coloanelor lui A. Este clar ca elementele de pe fiecare coloana insumeaza aceeasi valoare, suma  magica, 34.

Dar sumele de pe randuri? MATLAB are o preferinta pentru lucrul cu coloanele unei matrice, asa ca, o modalitate de a obtine sumele de pe randuri este aceea de a transpune matricea, de a calcula apoi sumele de pe coloane ale transpusei, si, in cele din urma, transpunerea rezultatului. Pentru a alege o alta cale, prin care se evita dubla actiune de transpunere, foloseste argumentul dimensiune pentru functia sum.

MATLAB are  dispune de doi operatori de transpunere. Operatorul apostrof (de exemplu, A') efectueaza o transpozitie conjugata complexa. Aceasta inverseaza o matrice dupa diagonala sa principala, si schimba de asemenea si semnul componentei imaginare a oricarui element complex al matricei. Operatorul punct-apostrof (de exemplu, A.'), transpune fara a afecta semnul elementelor complexe. Pentru matricele care nu contin ca elemente decat numere reale, ambii operatori returneaza acelasi rezultat.
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-coloana care contine sumele de pe fiecare rand

ans =
  34
  34
  34
  34

Suma elementelor de pe diagonala principala se obtine cu ajutorul functiilor sum si diag:

 diag(A)

produce rezultatul

ans =
  16
  10
  7
  1

iar

sum(diag(A))

produce

ans =
  34

Cealalta diagonala, asa-numita antidiagonala, nu este atat de importanta din punct de vedere matematic, asa ca MATLAB nu are o functie gata configurata pentru aceasta. Insa exista o functie care a fost initial destinata utilizarii in programele de grafica, fliplr, care intoarce o matrice de la stanga spre dreapta:

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

Ai verificat daca matricea din gravura lui Dürer este intr-adevar un patrat magic, si, in decursul procesului, ai incercat si cateva operatii MATLAB asupra matricei. Urmatoarele sectiuni continua sa foloseasca aceasta matrice pentru a ilustra capacitati suplimentare ale MATLAB.

Pagina:
1 2 »
comenteaza printeaza
Alte tutoriale Matlab:
Noteaza acest tutorial
Rating tutorial
 
(6 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
nicu , Marti, 05 August 2008
#1

Foarte frumos ca ati introdus o asemenea sectiune....astept urmatoarele tutoriale Matlab

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4930
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4875
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4740
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4695
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4510
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Bridge Flash Java Fireworks Gimp RoR AJAX Dreamweaver Ruby on Rails SEO XML JSON COREL DRAW Outlook Javascript Excel PHP StyleSheet MySQL HTML Powerpoint Photoshop Lightroom Verilog SWF Illustrator Python Action Script CSS PSD Swift 3D XHTML Word Vista Fotografie Sony Vegas
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software