Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFilippo Pavone Modificato 9 anni fa
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 15 Dicembre 2015
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lezione Ven 18 2
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lezione Ven 18 Probabilmente sospesa causa lauree 3
4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami… 4
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami… 5
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami: prima… Pensavo di essere l’unico 6
7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami: poi… 7
8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami: visione 8
9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esami: visione 9 Voti online il 21/12 Visione il 22/12 in L06
10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: MATLAB 15 Dic 2015, 10.30am-12.30pm, @ B6.27 MATLAB: Ambienti di sviluppo e primi codici 12 Gennaio 2016, 10.30am-12.30pm, @ B6.27 MATLAB: strutture di controllo, tipi di dato strutturato, e vettori 19 Gennaio 2016, 10.30am-12.30pm, @ B6.27 MATLAB: funzioni ricorsive 26 Gennaio 2016, 10.30am-12.30pm, @ B6.27 MATLAB: funzioni ricorsive, funzioni di ordine superiore, grafici 2D e 3D 10
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Obiettivi Introduzione a Matlab/Octave array e matrici inserimento dati costrutti condizionali stampa a video 11
12
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 12
13
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) 13
14
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’) 14
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: crea matrici Problema: crea matrici Si crei una matrice di dimensione 3x3 di valori non necessariemente tutti nulli 15
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Crea matrici - Soluzione matrix = [1 2 3 ; 4 5 6; 7 8 9] 16 matrix = magic (100)
17
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) 17
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Accesso ai dati - Soluzione 18
19
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) 19
20
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scalari Vs Array - Soluzione vet = [1 2 3]; vet =.^2 20
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Curiosità: cosa succede con il. 21
22
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 22
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoarray - Soluzione 23
24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Nota sui sottoarray 24 Perchè: temp(2:2:4, :)… e non temp(2:4, :)? Perchè temp(2:4, :) sono le righe 2, 3 e 4!!!
25
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’) 25
26
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Tabelline Stampare a video la tabellina della moltiplicazione (da 1 a 10) per un numero inserito dall'utente 26
27
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 27
28
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. 28
29
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); 29
30
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 30
31
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? 31
32
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); 32
33
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 33
34
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 34
35
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))]); 35
36
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/ 36
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.