abc Matlab - elektronski priručnik II dio Osnove Matlaba kao jezika - 2.1. Matrice i magični kvadrati
2.1.3. sum, transpose i diag
Dosad je vjerovatno već jasno da specijalne osobine magičnog kvadrata imaju neke veze sa različitim načinima sabiranja njegovih elemenata. Ako izračunamo sumu duž bilo kog reda ili kolone, ili duž bilo koje od dve glavne dijagonale, dobićemo uvijek isti broj. Potvrdićemo to koristeći Matlab. Prva naredba koju ćemo probati je
sum(A)
Matlab odgovara sa
ans =
34 34 34 34
Kada ne specificiramo izlaznu varijablu, Matlab koristi varijablu ans, skraćeno od answer, da spremi rezultate izračunavanja. Izračunali smo vektor-red koji sadrži sume kolona od A. Svaka od kolona ima istu sumu, magičnu sumu, 34.
A šta je sa sumama redova? Matlab preferira rad sa kolonama matrice, tako da je jedan način da se dobiju sume redova transponovanje matrice, izračunavanje suma kolona transponovane matrice, a onda transponovanje rezultata.
Matlab ima dva operatora transponovanja. Operator apostrof (na primjer, A') izvršava konjugovano kompleksno transponovanje. On okreće matricu preko njene glavne dijagonale, a takođe mijenja znak imaginarne komponente svakog kompleksnog elementa matrice. Operator tačka-apostrof (A.'), transponuje bez uticaja na znak kompleksnog elementa. Za matrice koje sadrže sve realne elemente, dva operatora vraćaju isti rezultat.
Tako
A'
proizvodi
ans =
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
a
sum(A')'
proizvodi vektor-kolonu koji sadrži sume redova
ans =
34
34
34
34
Kao dodatni način da saberemo redove, a koji izbjegava duplo transponovanje, koristimo dimenzioni argument za funkciju sum:
sum(A,2)
proizvodi
ans =
34
34
34
34
Suma elemenata na glavnoj dijagonali je dobijena pomoću funkcija sum i diag:
diag(A)
proizvodi
ans =
16
10
7
1
a
sum(diag(A))
proizvodi
ans =
34
Druga dijagonala, tzv. antidijagonala, matematički nije naročito važna, pa Matlab nema gotovu funkciju za nju. Ali funkcija izvorno namijenjena za upotrebu u grafici, fliplr, okreće matricu s lijeva na desno:
sum(diag(fliplr(A)))
ans =
34
Potvrdili smo da je matrica sa Direrove gravure zaista magični kvadrat i, usput, pokazali smo nekoliko Matlabovih matričnih operacija. U narednim odjeljcima nastavićemo da koristimo ovu matricu da ilustrujemo dodatne mogućnosti Matlaba.
Učitavanje matrica < Index > Funkcija magic
|