Sadegh Astaneh – [email protected] Marco D...
Transcript of Sadegh Astaneh – [email protected] Marco D...
![Page 1: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/1.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Sadegh Astaneh – [email protected] Marco D. Santambrogio – [email protected] Emanuele Panigati – [email protected]
Ver. aggiornata al 3 Gennaio 2012
![Page 2: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/2.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up mcm modulo
• Qualche cosa un pò più divertente numeroPrimo combinaImmagini
• Altri exe… tmp garaTuffi
2
![Page 3: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/3.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up mcm modulo
• Qualche cosa un pò più divertente • Altri exe..
3
![Page 4: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/4.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Dati due numeri x ed y, si definisce il minimo comune multiplo come mcm = x*y/MCD(x,y)
• Si risolve il problema creando una funzione mcm
4
![Page 5: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/5.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Dato un numero inserito dall’utente, scrivere a video il suo modulo Si usi una funzione di ordine superiore
modulo scritta da voi
• Esempio Inserire il numero:
• >>> -3 >>> 3
5
![Page 6: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/6.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up
• Qualche cosa un pò più divertente numeroPrimo combinaImmagini
• Altri exe..
6
![Page 7: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/7.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Dato un numero intero positivo inserito dall’utente, dire se tale numero è primo (stampa a video 1 se primo, 0 altrimenti) Un numero è primo se è divisibile solo
per 1 e se stesso Esempio
• >>> 7 ---> >>>1 • >>> 9 ---> >>>0
7
![Page 8: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/8.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si conviene di rappresentare un’immagine mediante una matrice rettangolare di numeri, corrispondenti al colore dei suoi pixel (punti luminosi che compongono la figura)
• Si vuole progettare una funzione Octave di nome combinaImmagini che, ricevendo come parametri due matrici f1 ed f2 rappresentanti due immagini e due valori numerici C ed S, con C<S, rappresentanti due diversi colori, produce come risultato una terza figura f3, ottenuta da f1 ed f2 secondo la seguante regola. Nelle posizioni (r,c) in cui f1(r,c)<C ed f2(r,c)>C si ha f3(r,c)=f2(r,c)
-f1(r,c) Nelle posizioni (r,c) in cui f1(r,c)>S ed f2(r,c)<S si ha f3(r,c)=f1(r,c)
-f2(r,c) nelle posizioni rimanenti si ha f3(r,c)=f1(r,c) • Domande
Codificare la funzione combinaImmagini Scrivere uno script che acquisisce le due matrici di partenza
rispettivamente dai file file1.mat e file2.mat (si supponga che le due variabili contenenti le matrici al momento del salvataggio si chiamino matr1 e matr2), richiama la funzione combinaImmagini e salva sul file file3.mat la matrice risultante.
8
![Page 9: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/9.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up • Qualche cosa un pò più divertente
• Altri exe.. tmp garaTuffi
9
![Page 10: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/10.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Facendo uso della funzione di ordine superiore accumulatore
• Codificare la funzione tmp(v)
Prende come argomento un vettore di numeri v=[v1,…, vn]
Calcola e restituisce come risultato il valore
• Codice della funzione accumulatore
function [x]=accumulatore(f, a, u) x = u; for i=1:length(a) x = f(x, a(i)); end
10
![Page 11: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/11.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Facendo uso della funzione di ordine superiore accumulatore
• Codificare la funzione garaTuffi(v)
Prende come argomento un vettore di voti v=[v1,…, vn]
Calcola e restituisce come risultato il valore medio dei voti
• Codice della funzione accumulatore
function [x]=accumulatore(f, a, u) x = u; for i=1:length(a) x = f(x, a(i)); end
11
![Page 12: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh](https://reader031.fdocumenti.com/reader031/viewer/2022020216/5c6d1ae809d3f201028bb434/html5/thumbnails/12.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Fonti per lo studio Introduzione alla programmazione in
MATLAB, A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini, Ed.Esculapio • Capitolo 2, 4, 5
12