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

Slides:



Advertisements
Presentazioni simili
Process synchronization
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 Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Process synchronization
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 6: 13 Maggio 2013 Gianluca Durelli – Marco D. Santambrogio –
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
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 Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
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 Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
ESERCIZI.
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE La Ricorsione Marco D. Santambrogio – Ver. aggiornata al 29 Maggio 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 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 La Ricorsione Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
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 Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
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 4: 11 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 L Maggio 2015 Marco D. Santambrogio – Gianluca Durelli -
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 3: 27 Aprile 2015 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 –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 22 Marzo 2016.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Matteo Ferroni –
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7 – Info B Marco D. Santambrogio – Riccardo Cattaneo – Ver. aggiornata al 6 Gennaio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Lab 14 Gennaio 2014, LM1  MATLAB: funzioni ricorsive 21 Gennaio 2014, LM1  MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 2

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: Ora.. Warm Up (30’)  shiftSinistro Qualche cosa un po’ più divertente (60’) Altri exe (90’) 4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE shiftSinistro: problema Dato un vettore riga v rappresentante un numero in codifica binaria  Si effettui lo shift a sinistra (cioè si spostino a sinistra i singoli bit) fino a che non si incontra il primo 1 Es: v=[ ] -> [ ] 5

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEshiftSinistro function [ris] = shiftSx(n) if ~isrow(n) | max(n 1) ris = NaN; elseif n(1) == 1 ris = n; else ris = shiftSx([n(2:length(n)) n(1)]); end 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: Ora.. Warm Up (30’) Qualche cosa un po’ più divertente (60’)  numeroPrimo  serie (normale) Altri exe.. (90’) 7

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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE numeroPrimo iterativa function [ris] = numPrimo2(x) ris=1; for y=2:sqrt(x) ris = ris*(~(~rem(x,y))); end 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE numeroPrimo Ricorsiva function [ris] = numPrimo(x,y) if y>sqrt(x) ris = 1 else ris = (~(~rem(x,y)))*numPrimo(x,y+1); end 10

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE serie (normale): problema Si consideri la successione definita dalla seguente relazione: x(1) = 0 x(2) = 1 x(n) = 2 * x(n-1) + 3 * x(n-2) Si scriva una funzione succ(n) che calcoli il valore n-esimo della successione. 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE serie (normale): soluzione function res = succ(n) if n==1 % Primo caso base res = 0; elseif n==2 % Secondo caso base res = 1; else % calcolo res = 2*succ(n-1) + 3*succ(n-2); end 12

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: Ora… Warm Up (30’) Qualche cosa un po’ più divertente (60’) Altri exe… (90’)  sottoMatrici  serie (ricorsione) 13

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE sottoMatrici: problema Creare una matrice di dimensione n*n che nel suo centro contiene un quadrato 2x2 che contenente il valore 1 e, andando verso l'esterno, i valori 2, 3,.. fino a n nella cornice più esterna Es.: 14

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE sottoMatrici: soluzione1 function [M] = sottoMatr(n) if(n == 1) M = ones(2,2); else M = sottoMatr(n-1); r = ones(1, size(M,2)) * n; M = [r; M ; r]; c = ones(size(M,1), 1) * n; M = [c M c]; end 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE sottoMatrici: soluzione2 function [matrRis]=sottoMatr(n) if n==1 matrRis=ones(2); else matrRis=n*ones(2*n); matrRis(2:2*n-1,2:2*n-1)=sottoMatr(n-1); end 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE serie (ricorsione): problema Si consideri la successione definita dalla seguente relazione ricorsiva: x(1) = 0 x(2) = 1 x(n) = 2 * x(n-1) + 3 * x(n-2) Si scriva una funzione ricorsiva succRic(n) che calcoli il valore n-esimo della successione. 17

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE serie (ricorsione): soluzione function res = succRic(n) if n==1 % Primo caso base res = 0; elseif n==2 % Secondo caso base res = 1; else % Passo ricorsivo res = 2*succ(n-1) + 3*succ(n-2); end 18

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:  Prof. Paolo Garza (per l’esercizio sottoMatrici)  Emanuele Panigati 19