Analisi di Immagini e Dati Biologici

Slides:



Advertisements
Presentazioni simili
IC Castel d'Ario (MN) LE CLASSI : 4 A – 4 B PRESENTANO
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Pregnana Milanese Assessorato alle Risorse Economiche
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
II° Circolo Orta Nova (FG)
/ fax
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
MATLAB.
Dipartimento di Matematica
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Modellazione per addizione: denti posteriori
DISEGNO TECNICO INDUSTRIALE
Numerazione in base tre Prof. Lariccia Giovanni Gruppo: Roberta Spicciariello, Roberta Accaria e Maria Elisa Graziano.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Cammini minimi con sorgente singola
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
PROGRAMMI DI COOPERAZIONE TERRITORIALE I controlli di primo livello in azione Un caso pratico Programma Interreg IV C Progetto B3 Regions Regione Piemonte.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Prof. Massimo Lazzari IMPIANTI E STRUTTURE Laurea in PAAS.
Programmazione 1 9CFU – TANTE ore
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Corso di base sull’uso del software di analisi meteorologica DIGITAL ATMOSPHERE Prodotti meteo A cura di Vittorio Villasmunta Corso Digital Atmosphere.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Simulazione di un esperimento di laboratorio: Caduta di un corpo quadrato in.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
Laboratorio di Calcolo I 1) Introduzione Università Roma Tre Corso di Studi in Fisica AA 2002/03.
Strutture di controllo in C -- Flow Chart --
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Melfi, 1 aprile 2011 – MediaShow 1 Social Network: possibilità di uso consapevole nella didattica Uso, consapevolezza, opportunità, proposte Caterina Policaro.
1ROL - Richieste On Line Ente pubblico 5ROL - Richieste On Line.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Roberto Ariani Presidente Comm. Supporto e sviluppo informatico I Siti in cui dobbiamo navigare per crescere SINS - Seminario Istruzione Nuovi Soci - Arezzo,
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Esercitazioni di Meteorologia da satellite
LE SAI LE TABELLINE? Mettiti alla prova!.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
1 Questionario di soddisfazione Studenti - a. sc. 2008/09 Il questionario è stato somministrato dal mese di aprile al mese di maggio Sono stati restituiti.
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
1 FOLGARIA 2002 CAMPO SCUOLA GIOVANI CALTO – GRIGNANO CASA S. MARIA.
14 marzo 2002 Avvisi:.
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
I dati del questionario di autovalutazione dei docenti Prime rilevazioni.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
Area Sviluppo Pianificazione e Controllo 1 Innovazione del processo organizzativo delle manifestazioni fieristiche: lesperienza di Veronafiere Gianni Bruno.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
-17 Aspettative economiche – Europa Settembre 2013 Indicatore > +20 Indicatore 0 a +20 Indicatore 0 a -20 Indicatore < -20 Unione Europea Totale: +6 Indicatore.
© GfK 2012 | Title of presentation | DD. Month
Pippo.
USO DEL COMPUTER E GESTIONE DEI FILE
TUTTO HA UN… SENSO INTERSEZIONE 5 ANNI
Economia delle Aziende, Pubbliche e Non Profit Sistema di misurazione e valutazione e Programma triennale per la trasparenza e l’integrità: alcuni esempi.
Modulo 6 Test di verifica
Bando Pittori e Scultori in Piemonte alla metà del ‘700
Dove siamo L’ Italia: una crisi nella crisi Vladimiro Giacché (presidente Centro Europa Ricerche) 20 giugno 2014.
lun mar mer gio ven SAB DOM FEBBRAIO.
USR-INRiM-GMEE-CE.SE.DI Formazione&Metrologia Modulo 1 1 Modulo 1 Costruzione di un linguaggio comune Preparazione liste dei termini. Condivisione.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Transcript della presentazione:

Analisi di Immagini e Dati Biologici Octave/Matlab L2-2-1 24

Lavorare con gli m-files .m è l'estensione dei file dove vengono salvati gli script per Octave Sono file di testo ordinari Editor consigliati: Windows: Notepad Notepad++ (http://notepad-plus-plus.org/) Linux: Gedit Kedit JEdit Emacs vim

m-file Aggiunge una nuova funzione o un comando che esegue uno script <nome>.m: digitando octave:1> <nome> Raccomandato incapsulare gli script all'interno di funzioni Il nome della funzione deve corrispondere al nome del file che precede '.m' Non sono ammessi spazi o caratteri di punteggiatura (segue le stesse regole dei nomi delle variabili)

Strutture di Controllo Programmando è sovente necessario usare strutture di controllo dell'esecuzione Le strutture di controllo possono essere condizionali come il caso della struttura if o switch Oppure sono delle strutture di loop che indicano un blocco di comandi da eseguire N volte (ciclo 'for'), oppure fino a quando una condizione è verificata (ciclo 'while')

Esecuzione Condizionale: if...else L'esecuzione di uno script avviene dalla prima linea in modo sequenziale. Se non ci sono errori ogni linea è interpretata ed eseguita. La struttura if...else...endif permette di eseguire in modo condizionale blocchi di istruzioni Forma più semplice if (condizione) then-body endif

Esecuzione Condizionale: if...else Come esprimere condizioni: Operatori di confronto >, >=, ==, <, <=, !=, ~= Operatori booleani || (OR), && (AND) Esempio: if (a < 0 || a > 10) ...codice da eseguire se valore di a esterno ad intervallo [0 10] endif

Esecuzione Condizionale: if...else In caso ci sia codice alternativo da eseguire quando la condizione non è verificata if (a < 0 || a > 10) ...codice da eseguire se valore di a esterno ad intervallo [0 10] else endif

Esecuzione Condizionale: if...else Controllo di casi multipli con elseif if (rem (x,2) == 0) printf(“x è pari\n”); elseif (rem(x,3) == 0) printf(“x è dispari e divisibile per 3\n”); else print (“x è dispari\n”); endif

Controllo con switch Utile quando si deve decidere quale codice eseguire in base al valore di una variabile Analogie con if (..) … elseif …. elseif …. endif switch (x) case 1 fai_qualcosa (); case 2 fai_qualcosaltro(); case 3 fai_qualcosaltro_ancora(); otherwise altrimenti_fai_questo(); endswitch

Ciclo for Ripete un blocco di istruzioni n volte usando una variabile come contatore Esempio: stampiamo a terminale 20 valori della funzione esponenziale (exp) nell' intervallo [0, 4] X = linspace(0,4,20); for p = [1:1:length(x)] Y = exp(x(p)); printf (“ exp(%d) = %d\n”,x(p),Y); endfor

Esercizio Lavoro volontario: Cercare sul manuale la sintassi della funzione printf e spiegarla alla prossima lezione La funzione printf (e la sua variante fprintf) serve per generare output 'formattato' Utile per scrivere messaggi alla console sia per debugging che per informazione Queste funzioni ammettono un primo argomento 'stringa' dove viene spiegato quanti e quali argomenti verranno elencati in seguito

Ciclo while...endwhile Come per for anche questo ciclo ripete blocchi di comandi ma l'esecuzione è condizionata dalla verifica (ad ogni ciclo) di una condizione Le condizioni vengono scritte in modo del tutto analogo a quelle che controllano la struttura if E' semplice riscrivere l'esempio per for usando while Il ciclo while è utile quando non è possibile stabilire a priori o non è semplice capire quante volte una sequenza di comandi deve girare

Ciclo while...endwhile Ciclo for dell'esempio precedente riscritto con while X = linspace(0,4,20); p = 1; while (p <= 20) Y = exp(x(p)); printf (“ exp(%d) = %d\n”,x(p),Y); p = p + 1; endwhile

Ciclo do...until Come per while il ciclo è controllato da una condizione argomento della parola chiave until La differenza sostanziale sta nel fatto che questo ciclo viene eseguito sempre almeno una volta Il ciclo continua fino a quando la condizione argomento di until diventa vera. (Mentre con il ciclo while si interrompe quando diventa falsa) Esempio: raccolta in un array dei valori di una funzione fino a quando la variazione del valore della funzione diventa < di un numero fissato

Ciclo do...until Raccogliamo N punti della funzione (1 – exp(- x)) tra 0 e un punto da stabilire. Condizioni: l'incremento della variabile indipendente x è fissato a 0.2 Il ciclo continua fino a quando la differenza tra exp(xi) e exp(xi+1) diventa < 0.001

Ciclo do...until Codice dell'esempio dx = 0.2; target_delta = 0.001; xtmp = 0; ytmp = 1 - exp(-xtmp); xp = yp = [ ]; do x = xtmp; y = ytmp; xp = [xp x]; yp = [yp y]; xtmp = x + dx; delta = ytmp – y; until (delta < target_delta); yp

Condizioni Applicate a Vettori o Matrici Proprietà degli operatori di confronto: Un confronto tra matrici è quella di applicare il confronto e restituire come risultato una matrice di 1 e 0, dove 1 segnala che che la condizione è verificata A=[1 2 3; 3 -2 1; 5 -4 9]; B=[3 2 1; 2 1 -2; 5 5 4]; A > B ans = 1 0 0 0 1 0 A < B 0 0 1 1 0 1

Esempio di funzione: matshuffle Creiamo una funzione che riordina in modo casuale gli elementi di una matrice Usiamo il comando 'function'per dichiarare la funzione Il codice della funzione deve essere chiuso dalla parola chiave 'endfunction' Usiamo la funzione 'reshape' per trasformare la matrice in un array Riordineremo l'array creandone un altro e quindi usando ancora 'reshape' rigenereremo una matrice con le stesse dimensione

Esempio: matshuffle.m La struttura generale sarà function matrice_riordinata = matshuffle(matrice_input) % % % commenti per il comando 'help' % linea comando 1 linea comando 2 …. linea comando n endfunction

Esempio: matshuffle.m Parte 1 function shuffled_matrix = matshuffle(m) % % Riordina casualmente gli elementi di una matrice % matshuffle(matrice_input) % la matrice di input può avere dimensioni arbitrarie % prima di tutto stabiliamo la dimensione della matrice % usando 'size'. Questa funzione ritorna un vettore riga % contenente il numero di righe e di colonne della matrice matrix_size = size(m); % la funzione 'prod' ritorna il prodotto degli elementi di % un array. Se l'argomento è una matrice ritorna un array % contenente i prodotti per colonne numero_elementi = prod(matrix_size);

Esempio: matshuffle.m Parte 2 % reshape ristruttura una matrice in una nuova matrice % avente dimensioni specificate. La funzione ammette % una forma % % reshape(matrix,n,m) % dove le nuove dimensioni n ed m sono argomenti separati % oppure nella forma % reshape(matrix,[n m]) % dove le nuove dimensioni sono contenute in un array riga % collochiamo gli elementi della matrice in un vettore riga elementi = reshape(m,1,numero_elementi);

Esempio: matshuffle.m Parte 3 % procediamo con un loop tante volte quanti sono gli elementi meno 1 % il loop for crea la variabile en che prenderà tutti i valori nella % sequenza 1,2,...., numero_elementi % % ad ogni ciclo prenderemo un numero intero casuale compreso tra % 1 e il numero di elementi ancora da randomizzare. % prenderemo quell'elemento e lo metteremo all'inizio dell'array % subito dopo gli elementi già randomizzati % Ci fermiamo quando rimane un elemento for en = [1:numero_elementi-1] % generiamo un numero casuale tra 1 e (numero_elementi - en + 1) rndindex = en + floor((numero_elementi - en + 1) * rand()); % scambiamo ora l'elemento di indice en e quello generato casualmente tmp = elementi(en); elementi(en) = elementi(rndindex); elementi(rndindex) = tmp; endfor

Esempio: matshuffle.m Parte 4 shuffled_matrix = reshape (elementi,matrix_size); endfunction

Esempio: matshuffle.m all'opera octave:1> m=magic(6) m = 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 octave:2> sum(m) 111 111 111 111 111 111 octave:3> shuffled=matshuffle(m) shuffled = 17 12 10 28 32 22 2 3 27 30 8 25 33 21 34 24 4 20 31 11 7 26 19 6 18 35 36 15 29 13 5 16 14 9 23 1 Octave:4> sum(shuffled) ans = 106 98 128 132 115 87