Questa Capitolo descrive le fondamentali operazioni necessarie nella creazione e nell'uso delle variabili in MATLAB.
In generale in un qualsiasi linguaggio di programmazione, la creazione e l'uso di una variabile richiede almeno due operazioni:
In MATLAB il processo di creazione è semplificato dal fatto che dichiarazione e definizione vengono fatte automaticamente dall'interprete dei comandi quando incontra una istruzione di assegnazione:
>> nome_variabile = espressione
Per creare una nuova variabile basta quindi scriverne il nome sulla sinistra di un'istruzione di assegnazione ove sulla destra vi sia una costante, o un'espressione numerica, o una funzione:
>> x = 2*3; >> y = x^2; >> z = cos(0.5);
Se la variabile è già esistente allora l'istruzione di assegnazione ha l'effetto di aggiornarne il valore:
>> x = x + y x =42
nel caso precedente alla variabile x
è stato asseganto un valore pari al
suo precedente valore + quello della variabile y
.
I nomi delle variabili devono rispettare le seguenti regole:
X
e x
risultano fra loro
diverse)
I tipi di variabili che possono essere create ed utilizzati in MATLAB sono:
Tutte le variabili numeriche in MATLAB vengono trattate come matrici, ossia come tabelle bidimensionali di numeri, organizzate in righe e colonne:
nella figure superiore è stata mostrata una matrice di n righe ed m colonne.
Quando una variabile viene creata , automaticamente MATLAB salva anche le sue dimensioni in termini di numeri di righe e colonne. Le variabili numeriche possono quindi essere classificate in base alle loro dimensioni in:
tipo variabile numerica | N. righe | N. colonne |
scalari | 1 | 1 |
vettori riga | 1 | qualsiasi |
vettori colonna | qualsiasi | 1 |
matrici | qualsias | qualsiasi |
Questa classificazione ha senso solo per il tipo di operazioni che è possibile effettuare fra i diversi tipi di variabili. Infatti MATLAB implementa delle operazioni che rispettano rigorosamente quelle dell'algebra matriciale, ad esempio non sono possibili moltiplicazioni fra matrici se il numero di colonne della prima matrice è diverso dal numero di righe della seconda.
Le stringhe sono sequenze di caratteri che in MATLAB vengono trattate come matrici di caratteri. Non vi è nessuna differenza tipografica nel nome di una variabile stringa rispetto ad una numerica. Ad esempio le seguenti istruzioni di assegnazione dichiarano e definiscono rispettivamente una variabile numerica x ed una variabile stringa sr_y definita come un vettore riga di caratteri:
>> x = 5.2 >> sr_y = 'Bob'
Il tipo di variabile (numerica o stringa) è determinato automaticamente all'atto della creazione.
Nella seguente tabela viene suggerita una convenzione sui nomi da utilizzare per le variabili, in modo da poter distingure in ogni momento di che variabile si tratta
tipo | variabile numerica | variabile stringa |
scalari | xxxx | s_xxxx |
vettori riga | r_xxxx | sr_xxxx |
vettori colonna | c_xxxx | sc_xxxx |
matrici | m_xxxx | sm_xxxx |
(con la 'x' si intende un carattere qualsiasi fra quelli permessi):.
Una volta creata una variabile rimane nell'ambiente di Matlab è può essere utilizzata in quasiasi momento. Il comando who digitato nella finestra di comando permette sapere quali sono le variabili definite dell'ambiente: fino a che non venga espressamente cancellata con un comando clear:
>> x = 1; >> y = 2; >> z = x + y z = 3 >> who Your variables are: x y z
Il comando whos
da informazioni sul tipo e sulle dimensioni
delle variabili, ma anche sulla memoria totale occupata:
>> x = 1; >> y = 2; >> sr_z = 'pippo'; >> whos Name Size Bytes Class sr_z 1x5 10 char array x 1x1 8 double array y 1x1 8 double array Grand total is 7 elements using 26 bytes
Le variabili che restano definite nell'ambiente sono dette VARIABILI GLOBALI
Una variabile può essere cancellata dall'ambiente Matlab mediante il comando clear seguito da uno o più nomi delle variabili da cancellare:
>> clear x y >> who Your variables are: sr_z