Capacità di Matlab
•Pedici
L'elemento in riga i e colonna j di A è denotato con A(i,j).
Per esempio:
A(4,2)
è il numero nella quarta riga e seconda colonna. Per la nostra magic
square, A(4,2) è 15.
Così è possibile calcolare la somma degli elementi nella
quarta colonna di A digitando:
A(1,4) + A(2,4) + A(3,4) + A(4,4)
Questo produce:
ans =
34
ma non è il modo più elegante di sommare una singola colonna.
È anche possibile per assegnare gli elementi di una matrice utilizzare un singolo pedice, A(k).
Questo è il modo solito di citare vettori riga e vettori colonna. Ma si può
anche applicare ad una matrice bidimensionale in questo caso la matrice è considerata
come un vettore colonna, formato dalle colonne della matrice originale.
Così, per la nostra magic square, A(8) è un altro modo di assegnare il valore
15 immagazzinato nella posizione A(4,2), cioè quarta riga seconda colonna.
Se Lei tenta di usare il valore di un elemento della matrice al di fuori di essa, commette un errore:
t = A(4,5)
Index exceeds matrix dimensions (Messaggio di errore)
•L'operatore :(due punti)
Il due punti,:, è uno dei più importanti operatori di MATLAB.
Si trova in molte forme diverse.
L'espressione:
1:10
è un vettore riga che contiene i numeri interi da 1 a 10
1 2 3 4 5 6 7 8 9 10
Per ottenere una sequenza, si deve specificare un incremento.
Per esempio:
100:-7:50
è
100 93 86 79 72 65 58 51
cioè una sequenza di numeri da 100 a 50 con passo uguale -7;
e
0:pi/4:pi
è
0 0.7854 1.5708 2.3562 3.1416
Le espressioni sottoscritte che coinvolgono due punti assegnano porzioni di una matrice.
A(1:k,j)
rappresenta i primi k elementi della colonna jth di A.
Così:
Sum(A(1:4,4))
calcola la somma della quarta colonna. Ma c'è un modo migliore . Il due punti
assegna tutti gli elementi in una riga o colonna di una matrice e il keyword
END assegna l'ultima riga o colonna. Così
sum(A(:,end))
calcola la somma degli elementi nell'ultima colonna di A.
ans =
34
Perchè la somma della magic square è uguale a 34? Se i numeri interi da 1 a
16 sono ordinati in quattro gruppi con somme uguali, quella somma deve essere:
sum(1:16)/4
che, chiaramente, è
ans =
34
Se si ha accesso al Symbolic Math Toolbox può
scoprire che la somma per un n-da-n magic square è (n 3 + n)/2.
•La funzione magic
La funzione magic di MATLAB costruisce magic square di
qualsiasi taglia.
Non a caso, questa funzione è chiamata magic.
B = magic(4)
B =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1