next up previous

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