Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Renato Mainetti
Introduzione a Matlab
Concetti importanti:
• Cos’ è Matlab
• Variabili
• Script
• Funzione
• Salvataggio WorkSpace
>> firstScript
Questo è il nostro primo script in Matlab
Di solito però si inizia con "Hello World!"
Inserisci un numero da elevare al quadrato: 3
Il risultato è: 9
input
Parola chiave output Nome funzione
>> A = triarea(5,6);
Viene generato un
file .mat
Concetti importanti:
• Programmazione
• Algoritmo
• Programmazione strutturata
• Sequenziale
• Condizionale (IF/ELSE - SWITCH)
• Iterativa (FOR - WHILE)
https://en.wikibooks.org/wiki/MATLAB_Programming/Control_Flow
Ripasso Generale - GUI e HTML/PDF - Lezione
16
11
IF - IF/ELSE :
Condizionale
switch n
case -1
disp('Uno Negativo')
case 0
disp('Zero')
case 1
disp('Uno Positivo')
otherwise
disp('Altro valore')
end
N.B: se usiamo «otherwise» anche altri numeri andranno bene per il verde.
Ripasso Generale - GUI e HTML/PDF - Lezione
18
11
FOR:
Iterativa
for i = 1:5
…fai qualcosa…
end
Concetti importanti:
Stato iniziale
Grafo delle
transizioni di stato
Concetti importanti:
• Fuzzificazione
• Fuzzy associative memory (FAM - regole)
• Defuzzificazione
Questo toolbox può essere usato in modalità stand alone, è possibile costruire
un’app ed infine è anche possibile realizzare un blocco Simulink per utilizzarlo in una
simulazione di processo dinamico.
• Cibo • Mancia
• servizio
Concetti importanti:
• Vettore
• Matrice
• Grafo
• Albero
4 2 9 7 1
mat = [1 2 3; 4 5 6; 7 8 9];
Concetti importanti:
Proviamolo!
L’algoritmo di generazione può essere inizializzato
con un seme (seed).
Normalmente matlab all’avvio setta il seed a 0.
Per vedere l’attuale valore del seed eseguiamo:
>> rng
Idee ?
F(X1) = 1/6
F(X2) = 1/6 + 1/6 = 2/6
F(X3) = 1/6 + 1/6 + 1/6 = 3/6
F(X4) = 1/6 + 1/6 + 1/6 + 1/6 = 4/6
F(X5) = 1/6 + 1/6 + 1/6 + 1/6 + 1/6 = 5/6
F(X6) = 1/6 + 1/6 + 1/6 + 1/6 + 1/6 + 1/6 = 6/6
Concetti importanti:
• File di testo
• CSV (comma separated values)
• Da Fogli di calcolo (es. Excel)
• Da Database
• Da File Binari (formati proprietari, immagini, audio, etc)
http://quantdare.com/2016/03/machine-learning-a-brief-breakdown/
Ripasso Generale - GUI e HTML/PDF - Lezione
67
11
Apprendimento
Supervisionato e Non
Renato Mainetti
Quad-tree
• Proviamo a suddividere usando come criterio il colore.
• Un’immagine in Matlab è una matrice.
• Se l’immagine è in toni di grigio allora viene rappresentata
da una matrice monodimensionale, il numero di righe e di
colonne equivale alla dimensione in pixel dell’immagine
(larghezza = colonne, altezza=righe)
• Se l’immagine è a colori allora sarà una matrice
tridimensionale. L’immagine infatti avrà 3 canali:
• Rosso (Red)
• Verde (Green)
• Blue (Blue)
• Il file: kmean.m
Concetti importanti:
• Decision-tree
• Reti neurali
• Predire classe, dato un vettore di input
• Validazione: training e test, cross-fold
Modello
2) Predizione Risposte
Nuovi dati (non etichettati)
AND XOR
Z = 𝑠𝑔𝑛( 𝑥𝑖 𝑤𝑖 − 𝜃)
i=1
U1 and U2 U1 or U2 U1 xor U2
U1 U2 Y U1 U2 Y U1 U2 Y
0 0 0 0 0 0 0 0 0
0 1 0 0 1 1 0 1 1
1 0 0 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0
Y sempre falso (0) a Y sempre vero (1) a Y sempre falso (0) quando
meno che U1 e U2 meno che U1 e U2 siano U1 = U2
siano entrambe vere(1) entrambe false(0) Y sempre vero (1) quando
U1 ≠ U2
• Contatti:
renato.mainetti@unimi.it
• Pagine del corso:
• http://mainetti.di.unimi.it/teaching.html
• http://aborgheseiaad.ariel.ctu.unimi.it/v3/home/Default.aspx