DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo –

Slides:



Advertisements
Presentazioni simili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1: Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
Advertisements

MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6: 16 Maggio 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 04 Aprile 2013 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 29 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 11 Aprile 2013 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE ExtraLab 6: I corsi del SIT Marco D. Santambrogio – 13 Maggio 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6: 13 Maggio 2013 Gianluca Durelli – Marco D. Santambrogio –
Lab X: Battaglia Navale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 24 Ottobre 2011 Sadegh Astaneh – Marco D. Santambrogio –
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE ExtraLab 4: Partiamo con il SIT! Marco D. Santambrogio – 19 Aprile 2013.
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ulitma lezione… fine corso IEIM 2013 Marco D. Santambrogio – Ver. aggiornata al.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Diagrammi 2D e 3D Funzioni di ordine superiore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 13 Giugno 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 29 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione 1 Marco D. Santambrogio – Ver. aggiornata al 9 Aprile 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 10 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 7 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 27 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 2: 20 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 L Aprile 2015 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 14 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo – Ver. aggiornata al 30 Dicembre 2013

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8: Agenda Warm Up (30) Qualche cosa un po più divertente (60) Altri exe… (90) 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8: Ora.. Warm Up (30) modulo Qualche cosa un po più divertente (60) Altri exe… (90) 3

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE modulo: problema Dato un numero inserito dallutente, scrivere a video il suo modulo Si usi una funzione di ordine superiore modulo scritta da voi Esempio Inserire il numero: >>> -3 >>> 3 4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE modulof1 in Octave %script modulo1 x=input("Inserisci uno scalare: "); if x<0 r=modulof1(x) else r=x end 5

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE modulof2 in Octave %script modulo2 x=input("Inserisci uno scalare: "); minZero modulof2 if minZero(x) r = modulof2(x) else r=x end 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8: Ora.. Warm Up (30) Qualche cosa un po più divertente (60) tmp presente Altri exe… (90) 7

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE tmp: problema 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 8

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE tmp: soluzione function ris = tmp(v) prod y) x*y; sum y) x+y; ris = accumulatore (prod, v, 1) * accumulatore (sum, v, 0); 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE presente: problema Facendo uso delle funzioni di ordine superiore map e acc presentate a lezione, scrivere una funzione presente(x, v) dove x è un valore e v un vettore. La funzione deve restituire un valore logico true se x è contenuto in v, e deve eseguire il controllo verificando la seguente condizione: x==v(1) OR x==v(2) OR …. x==v(length(v)) Procedere in questo modo: Calcolare tramite map un vettore logico che contiene 1 in corrispondenza dei valori del vettore che sono uguali a x Calcolare poi tramite accumulatore lOR degli elementi del vettore Codice della funzione map: function [vout]=map(f, vin) for i=1:length(vin) vout(i)=f(vin(i)); end 10

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE presente in Octave function [p]=presente(x,v) %Definiamo una variabile funzione che verifichi l'uguaglianza eqx % Tramite map, costruiamo un vettore logico che contiene 1 nelle posizioni % in cui il vettore in ingresso contiene valori uguali a x vp = map(eqx,v); % Definiamo una variabile funzione che calcoli l'OR tra due valori logici OR % Tramite acc, calcoliamo l'OR tra tutti gli elementi del vettore logico % ottenuto con map p = accumulatore(OR,vp,0); 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8: Ora… Warm Up (30) Qualche cosa un po più divertente (60) Altri exe… (90) garaTuffi combinaImmagini 12

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE garaTuffi: problema 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 13

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE garaTuffi: soluzione function ris = garaTuffi(v) sum y) x+y; ris = accumulatore (sum, v, 0)/length(v); 14

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE combinaImmagini: problema Si conviene di rappresentare unimmagine 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 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. 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE combinaImmagini: soluzione function [f3]=combinaImmagini(f1, f2, C, S) f3=f1; f3(f1 C)=f2(f1 C)-f1(f1 C); f3(f1>S & f2 S & f2 S & f2<S); %script che esegue combinaImmagini load file1.mat matr1; load file2.mat matr2; C= input('inserisci il valore per C: '); S= input('inserisci il valore per S: '); matr3 = combinaImmagini(matr1, matr2, C, S); save file3.mat matr3; 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits 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 Credits: Emanuele Panigati 17