Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D...

Post on 20-Feb-2019

243 views 0 download

transcript

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it Emanuele Panigati – panigati@elet.polimi.it

Ver.  aggiornata  al  3  Gennaio  2012  

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up  mcm  modulo

•  Qualche cosa un pò più divertente   numeroPrimo   combinaImmagini

•  Altri exe…   tmp   garaTuffi

2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up  mcm  modulo

•  Qualche cosa un pò più divertente •  Altri exe..

3

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up

•  Qualche cosa un pò più divertente   numeroPrimo   combinaImmagini

•  Altri exe..

6

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

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up •  Qualche cosa un pò più divertente

•  Altri exe..   tmp   garaTuffi

9

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

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

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