Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Per capire come funziona Matlab proviamo ad inserire qualche semplice comando.
>> 8/10
ans =
0.8000
In questo modo potete utilizzare Matlab come una calcolatrice (sessione interattiva).
Matlab assegna il risultato ad una variabile temporanea chiamata ans. Una variabile
non è altro che un simbolo utilizzato per contenere un valore. Potete infatti utilizzare
La variabile ans per eseguire altri calcoli, ad esempio:
>> 5*ans
ans =
4
Panoramica su Matlab – 2 –
Le variabili possono essere utilizzate anche per scrivere delle espressioni matematiche
E come vedremo nel corso delle esercitazioni questo è un grande vantaggio.
Ad esempio il conto mostrato in precedenza poteva essere inserito in questo modo:
>> r=8/10
r=
0.8000
In Matlab inoltre sono presenti funzioni interne utili per i conti tra le quali:
Una cosa molto importante da sottolineare è che in Matlab tutte le variabili devono
iniziare con una lettera e non possono essere più lunghe di 32 caratteri. Inoltre Matlab
tratta in modo diverso i caratteri maiuscoli da quelli minuscoli (case sensitive). Per
esempio i seguenti nomi identificano variabili differenti:
In Matlab esistono delle costanti predefinite alcune delle quali sono riportate nella tabella:
Nome Descrizione
ans Variabile che contiene l’ultimo risultato
eps Specifica la precisione dei numeri decimali
i ,j Unità immaginaria 1
Inf Infinito ()
NaN Indica un risultato numerico indefinito
pi Il numero
Panoramica su Matlab – 4 –
Finora abbiamo utilizzato Matlab come fosse una calcolatrice programmabile.
Ora vediamo più in dettaglio quali siano i vantaggi di questo programma. Uno dei suoi
punti di forza è la capacità di raccogliere molti numeri in strutture chiamate array come
se fossero una sola variabile.
Un array numerico è una raccolta ordinata di numeri. Un esempio di array è quello che
contiene i numeri 0 1 3 6 in questo ordine.
Per definire un array nel Matlab utilizziamo la seguente sintassi:
Notate che se costruissimo l’array y=[6,3,1,0] questo è diverso dal precedente perché
gli elementi sono ordinati in modo differente.
E’ possibile sommare i due precedenti array per ottenerne un terzo con la semplice
istruzione:
>> z = x + y
z=
6 4 4 6
Panoramica su Matlab – 5 –
Se gli elementi di un array sono intervallati in modo regolare non è necessario digitarli
tutti; basta digitare il primo numero, l’incremento costante fra i vari numeri e l’ultimo di
questi (questi tre valori devono essere separati da due punti ‘:’). Per esempio i numeri
0, 0.1, 0.2, ….., 10 possono essere assegnati alla variabile u con il seguente comando:
>> u = [0:0.1:10]
Se poi volessimo calcolare il seno di tutti questi numeri in Matlab basta scrivere la
semplice formula:
>> w = sin(u)
Questo è un semplice esempio della capacità di Matlab di eseguire molti calcoli con
pochi comandi.
I precedenti esempi in molti altri linguaggi di programmazione non sarebbero stati così
semplici e avrebbero richiesto una serie di istruzioni.
Grazie a questa semplicità di gestione degli array i programmi Matlab sono
estremamente semplice e quindi di più semplice gestione.
Panoramica su Matlab – 6–
In Matlab esistono operazioni che permettono di lavorare direttamente sugli elementi
degli array. Queste si chiamano operazioni “elemento per elemento”.
A=
2 4 10
16 3 7
>> B = [2, 4, 10
16, 3 , 7]
B=
2 4 10
16 3 7
Panoramica su Matlab – 8 –
L’addizione e la sottrazione delle matrici sono identiche a quelle degli array. Gli
elementi corrispondenti delle matrici vengono sommati o sottratti. La moltiplicazione
e la divisione invece sono diverse dalle corrispondenti operazioni con gli array.
Moltiplicazione di vettori.
[]
w1
[ u1 u2 u3 ] w 2 =u1⋅w1u 2⋅w 2 u 3⋅w 3
w3
Panoramica su Matlab – 9 –
Matlab dispone di molte funzioni che permettono di creare agevolmente dei
diagrammi di vari tipi (lineari, logaritmici, a superficie, a contorno e così via). Come
semplice esempio supponiamo di rappresentare graficamente la funzione y = sin(2x)
per x compreso tra 0 e 10. Un incremento pari a 0.01 consente di generare molti
valori di x, che permettono di tracciare una curva più regolare. La sessione è la
seguente:
>> x = [0:0.01:10];
>> y = sin(2*x);
>> plot(x,y)
Panoramica su Matlab – 10 –
Per assegnare dei nomi agli assi dobbiamo aggiungere alla funzione plot, che ci
permette di ottenere il grafico le due seguenti opzioni:
>> x = [0:0.01:10];
>> y = sin(2*x);
Istruzioni condizionali.
if espressione logica
istruzioni
end
Uno spazio deve separare la parola chiave if dall’espressione logica, che può essere
uno scalare, un vettore o una matrice.
if x >= 0
y = sqrt(x)
end
z = 0; w = 0;
if (x > 0) & (y > 0)
z = sqrt(x) + sqrt(y)
w = log(x) – 3*log(y)
end
if espressione logica 1
istruzioni del gruppo 1
if espressione logica 2
istruzioni del gruppo 2
end
end
Panoramica su Matlab – 15 –
Istruzione else
if espressione logica
istruzioni del gruppo 1
else
istruzioni del gruppo 2
end
Per esempio supponete che y = x1/2 per x >= 0 e y = ex – 1 per x < 0. Le seguenti
istruzioni calcolano il valore di y:
if x >= 0
y = sqrt(x)
else
y = exp(x) – 1
end
Panoramica su Matlab – 16 –
Istruzione elseif
if espressione logica 1
istruzioni del gruppo 1
elseif espressione logica 2
istruzioni del gruppo 2
end
Per esempio supponete che y = ln(x) per x >= 5 e y = x1/2 per 0 <= x < 5. Le seguenti
istruzioni calcolano il valore di y:
if x >= 5
y = log(x)
elseif x >= 0
y = sqrt(x)
end
Panoramica su Matlab – 17 –
Cicli
Un ciclo o loop è una struttura che permette di ripetere i calcoli un certo numero di
volte. Ogni ripetizione del ciclo si chiama passaggio. Matlab dispone di due tipi di cicli
espliciti: il ciclo for, che viene utilizzato quando il numero di passaggi è noto in anticipo,
ed il ciclo while, che termina quando è soddisfatta una particolare condizione e, quindi,
il numero di passaggi non è noto in anticipo.
Il ciclo for
for k = 5:10:35
x = k^2
end
L’espressione m:s:n assegna il valore iniziale m alla variabile di ciclo, che viene poi
incrementata del valore s.
E’ possibile anche annidare i cicli for e le istruzioni condizionali.
Il ciclo while
x = 5;
while x < 25
x = 2*x – 1;
end
Panoramica su Matlab – 19 –
Matlab prima verifica se l’espressione logica è vera; in questa espressione deve essere
inserita una variabile di ciclo. Per esempio, x è la variabile di ciclo nell’istruzione x < 25.
Se l’espressione logica è vera, le istruzioni vengono eseguite. Affinchè il ciclo while
possa operare correttamente, devono verificarsi due condizioni: