1.5 Immissione dei comandi attraverso tastiera
In questo paragrafo utilizzeremo il simbolo (I) per indicare la pressione del tasto Invio. Tale convenzione sarà abbandonata nei paragrafi successivi.
Matlab può essere utilizzato come una semplice calcolatrice. Questa modalità viene chiamata sessione interattiva. Per esempio, digitando:
> 10/3 (I)
sullo schermo comparirà la risa di Matlab:
ans = 3.3333
La risa viene assegnata automaticamente ad una variabile temporanea che Matlab chiama ans (abbreviazione di answer). Una variabile è un simbolo utilizzato per contenere e memorizzare un valore.
Si può utilizzare la variabile ans per eseguire altri calcoli:
>> 10*ans (I)
ans = 33.3333
Matlab normalmente visualizza il risultato di un’operazione con quattro cifre decimali (formato short). Successivamente verrà spiegato come modificare il formato di output. Si noti che l’ultima istruzione ha modificato il valore contenuto nella variabile ans: attualmente non esiste alcuna variabile in cui è memorizzato il valore precedente (3.3333).
Per non perdere i dati è pertanto necessario utilizzare variabili definite dall’utente. Una variabile scalare (una variabile contenente un singolo valore) viene definita utilizzando l’operatore di assegnazione =.
Per esempio l’istruzione:
> A=2 (I)
A = 2
assegna il valore ‘2’ (a destra dell’operatore) alla variabile indicata a sinistra ‘A’. E’ molto importante distinguere l’operatore di assegnazione ed il simbolo uguale utilizzato in matematica. La variabile nel lato sinistro dell’operatore è il “contenitore” di destinazione del valore generato dall’espressione del lato destro. Tale ordine non può MAI essere invertito; pertanto, l’espressione :
>> 6 = ans (I)
o l’espressione:
> A + 1 = 2 (I)
generano un messaggio d’errore.
Matlab conserva in memoria una variabile finché non viene esplicitamente cancellata con il comando clear seguito dal nome della variabile:
> clear A (I)
Il comando clear può essere seguito da diverse variabili:
> clear A B C (I)
o da nessuna variabile:
> clear (I)
in tal caso cancella tutte le variabili in memoria.
Si noti che Matlab distingue tra lettere maiuscole e minuscole: A e a sono due variabili diverse! Le variabili possono essere utilizzate per scrivere espressioni matematiche. Per esempio, se utilizziamo la variabile B per registrare il risultato di un’operazione:
> B = 8/10 (I)
B = 0.8000
possiamo utilizzarla successivamente per altre operazioni:
> C = 20*B (I)
C = 16
> D = ans + C (I)
D = 49.3333
In Matlab è anche possibile utilizzare l’operatore di assegnazione per scrivere istruzioni autoreferenziali:
> C = C+100 (I)
C = 116
Questa istruzione permette di aggiungere 100 al valore corrente di C. Eseguita l’operazione, non rimarrà traccia in memoria del precedente valore di C. Il lato destro dell’operatore di assegnazione deve essere calcolabile, se vi compare una variabile non definita, Matlab genera un messaggio d’errore.
Suggerimento: gli spazi nelle espressioni matematiche vengono ignorati da Matlab nell’esecuzione dei calcoli; è consigliabile, tuttavia, inserirli per semplificare la lettura delle istruzioni digitate.
L’operatore di assegnazione permette di utilizzare valori che non sono noti in anticipo o per cambiare il valore di una variabile attraverso una determinata procedura. Se vogliamo visualizzare il valore corrente di in una determinata variabile, per esempio ans, basta digitarne il nome e premere invio:
> ans (I)
ans = 33.3333
Matlab utilizza i simboli di programmazione standard + – * / ^ per eseguire rispettivamente la somma, la sottrazione, la moltiplicazione, la divisione e l’elevamento a potenza. Inoltre utilizza il simbolo \ (backslash) per la divisione sinistra o inversa. È possibile combinare a piacere tali simboli per scrivere espressioni matematiche di varia lunghezza:
> x = C+5-1^2 (I)
x = 20
Si noti che è molto diverso digitare:
> x = (C+5-1)^2 (I)
Il risultato in questo caso sarà:
x = 576
Regole di precedenza. Le operazioni matematiche sono eseguite rispettando una serie di regole di precedenza:
1. elevazione a potenza (livello più alto di precedenza)
2. moltiplicazione e divisione
3. addizione e sottrazione
A parità di livello di precedenza, le espressioni matematiche sono valutate da destra a sinistra. Nell’esempio non cambia l’ordine dei simboli, ma l’ordine di precedenza è modificato dalla presenza delle parentesi. La valutazione delle parentesi procede da quelle più interne a quelle più esterne.
Livello di precedenza – Operazione (Tabella di regole di precedenza)
Primo – Parentesi; dalla coppia più interna
Secondo – Elevazione a potenza; da sinistra a destra
Terzo – Moltiplicazione e divisione; da sinistra a destra
Quarto – Addizione e sottrazione; da sinistra a destra
Suggerimento: per evitare errori quando si scrivono espressioni molto lunghe è sempre meglio utilizzare le parentesi tonde, anche quando non sono necessarie.
Per calcolare espressioni matematiche più complesse, Matlab include centinaia di funzioni. Una di queste è la funzione sqrt (square root) per il calcolo della radice quadrata. In generale, per utilizzare una funzione bisogna digitarne il nome seguito dal valore (argomento) passato alla funzione racchiuso tra parentesi tonde:
nome_funzione (argomento)
La seguente istruzione permette di calcolare la radice quadrata di 9 e di registrare il risultato in una nuova variabile chiamata r:
> r = sqrt (9)
r = 3.0000