La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –

Presentazioni simili


Presentazione sul tema: "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –"— Transcript della presentazione:

1 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Matteo Ferroni – matteo.ferroni@polimi.it Ver. aggiornata al 24 Agosto 2015

2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: MATLAB 15 Dicembre 2015, 10.30am-12.30pm, @ LM1  MATLAB: Ambienti di sviluppo e primi codici 12 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: strutture di controllo, tipi di dato strutturato, e vettori 19 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: funzioni ricorsive 26 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 2

3 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: MATLAB 15 Dicembre 2015, 10.30am-12.30pm, @ LM1  MATLAB: Ambienti di sviluppo e primi codici 12 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: strutture di controllo, tipi di dato strutturato, e vettori 19 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: funzioni ricorsive 26 Gennaio 2016, 10.30am-12.30pm, @ LM1  MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 3

4 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Obiettivi Introduzione a Matlab/Octave array e matrici inserimento dati costrutti condizionali stampa a video 4

5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Agenda Esercizi Lab5  Warm Up (50’) Crea matrici  Accesso ai dati di un array  Scalari Vs Array  Sottoarray  Qualche cosa un pò più divertente (60’)  Tabelline  Funzione interne  Per casa… (60’)  Disegno “fisica”, con problema da risolvere  Rilievi altimetrici 5

6 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEAlcuni HELP comando: mostra a video il manuale di utilizzo di uno specifico comando. X': traspone la vettore (da vettore riga a vettore colonna e viceversa) LENGTH(X): ritorna la lunghezza di un vettore SUM(X): calcola la somma di tutti gli elementi di un vettore MEAN(X): calcola il valore media dei valore contenuti in un vettore MEDIAN(X): ritorna il mediano tra i valore contenuti in un vettore ABS(X): valore assoluto EVAL(stringa): esegue il contenuto della stringa come fossero comandi di uno script (potete utilizzarlo nell'esercizio 6 per ricevere anche la funzione che volete integrale) 6

7 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Prima parte Esercizi Lab5  Warm Up (50’)  Crea matrici  Accesso ai dati di un array  Scalari Vs Array  Sottoarray  Qualche cosa un pò più divertente (60’)  Per casa… (60’) 7

8 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: crea matrici Problema: crea matrici Si crei una matrice di dimensione 3x3 di valori non necessariemente tutti nulli 8

9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Crea matrici - Soluzione matrix = [1 2 3 ; 4 5 6; 7 8 9] 9 matrix = magic (100)

10 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: accesso ai dati Si crei una matrice 4x4 di valori non necessariamente nulli Si indichi il valore nella posizione (2,2) 10

11 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Accesso ai dati - Soluzione 11

12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Scalari Vs Array Problema: Scalari Vs Array Dato un vettore di 3 elementi vet = [1 2 3] Si calcoli l’elevamento a potenza di ogni elemento (risp: 1 4 9) 12

13 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scalari Vs Array - Soluzione vet = [1 2 3]; vet =.^2 13

14 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Curiosità: cosa succede con il. 14

15 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Sottoarray Problema: Sottoarray Dato una matrice temp Si sostituisca la seconda riga con: -1 -2 -3 E la quarta riga con: -4 -5 -6 15

16 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoarray - Soluzione 16

17 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Nota sui sottoarray 17 Perchè: temp(2:2:4, :)… e non temp(2:4, :)? Perchè temp(2:4, :) sono le righe 2, 3 e 4!!!

18 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Agenda Esercizi Lab5  Warm Up (50’)  Qualche cosa un pò più divertente (60’)  Tabelline  Funzione interne  Per casa… (60’) 18

19 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Tabelline Stampare a video la tabellina della moltiplicazione (da 1 a 10) per un numero inserito dall'utente 19

20 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tabelline - Soluzione vet=[1:10]; c=3; c*vet E le tabelline da 1 a 10? vet=[1:10]; vet2=vet’; vet2*vet 20

21 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: funzioni interne Ricevere un vettore è calcolare la somma, la media e il mediano usando per media e mediano sia i comandi integrati (MEAN e MEDIAN) che non. 21

22 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni interne - Soluzione %Senza MEAN e MEDIAN v=input('Vector '); disp(sum(v)); disp(sum(v)/length(v)); diff=abs(v-(sum(v)/length(v))); [w, p]=min(diff); v(p); 22

23 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Agenda Esercizi Lab5  Warm Up (50’)  Qualche cosa un pò più divertente (60’)  Per casa… (60’)  Disegno “fisica”, con problema da risolvere  Rilievi altimetrici 23

24 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Disegno “fisica” Disegnare la “gittata” di un corpo che cade da 100m di altezza quando lanciato orizzontalmente con un velocità a vostro piacimento  Quanto tempo impiega a cadere a terra?  Quanto si sposta in orizzontale prima di cadere a terra? 24

25 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Disegno “fisica”- Soluzione step=0.01; v=8.9; t=[0:step:100]; y=(100-9.8.*(t.^2)); x=(v.*t); y1=abs(y); [w, p]=min(y1); disp('Time:'); disp(t(p)); disp('Distance:'); disp(x(p)); plot(x,y); 25

26 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio: Rilievi altimetrici Si sviluppi un programma in matlab che acquisisce da tastiera i dati relativi a rilievi altimetrici e stampa a video l’altitudine media di tutti quelli che hanno latitudine compresa tra 10 e 80 e longitudine tra 30 e 60 26

27 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Soluzione (1ma parte) : rilievi altimetrici more = input('vuoi inserire valori altimetrici? (s/n)'); ii=1; while more=='s' arch(ii).altitudine = input('altitudine '); arch(ii).longitudine = input('longitudine '); arch(ii).latitudine = input('latitudine '); ii = ii+1; more = input('vuoi inserire altri valori altimetrici? (s/n)'); end 27

28 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Soluzione (2nda parte) : rilievi altimetrici jj=1; for ii=1:length(arch) %attenzione: la condizione deve essere scritta sulla stessa linea… if arch(ii).latitudine>=10&&arch(ii).latitudine =30&&arch(ii).longitudine<=60 elemSelez(jj) = arch(ii).altitudine; jj=jj+1; end disp(['la media degli elementi selezionati e` ' num2str(mean(elemSelez))]); 28

29 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 1 Credits  Prof. A. Morzenti  Emanuele Panigati https://sites.google.com/site/engpanigati/ 29


Scaricare ppt "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –"

Presentazioni simili


Annunci Google