Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCecilio Magni Modificato 9 anni fa
1
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – cattaneo@elet.polimi.it Ver. aggiornata al 1 Dicembre 2014
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Obiettivi Introduzione a Matlab/Octave array e matrici inserimento dati costrutti condizionali stampa a video 2
3
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 Altri exe… (60’) Disegno “fisica”, con problema da risolvere Rilievi altimetrici 3
4
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) 4
5
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’) Altri exe… (60’) 5
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: crea matrici Problema: crea matrici Si crei una matrice di dimensione 3x3 di valori non necessariemente tutti nulli 6
7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Crea matrici - Soluzione matrix = [1 2 3 ; 4 5 6; 7 8 9] 7 matrix = magic (100)
8
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) 8
9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Accesso ai dati - Soluzione 9
10
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) 10
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Scalari Vs Array - Soluzione vet = [1 2 3]; vet =.^2 11
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Curiosità: cosa succede con il. 12
13
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 13
14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoarray - Soluzione 14
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Nota sui sottoarray 15 Perchè: temp(2:2:4, :)… e non temp(2:4, :)? Perchè temp(2:4, :) sono le righe 2, 3 e 4!!!
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Agenda Esercizi Lab5 Warm Up (50’) Qualche cosa un pò più divertente (60’) Tabelline Funzione interne Altri exe… (60’) 16
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: Tabelline Stampare a video la tabellina della moltiplicazione (da 1 a 10) per un numero inserito dall'utente 17
18
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 18
19
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. 19
20
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); 20
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: Agenda Esercizi Lab5 Warm Up (50’) Qualche cosa un pò più divertente (60’) Altri exe… (60’) Disegno “fisica”, con problema da risolvere Rilievi altimetrici 21
22
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? 22
23
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); 23
24
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 24
25
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 25
26
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))]); 26
27
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/ 27
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.