Académique Documents
Professionnel Documents
Culture Documents
Lab 5 Info B
Lab 5: Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Introduzione a Matlab/Octave
Cicli
Funzioni
Strutture
Lab 5: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Warm Up (40)
Qualche cosa un po' pi divertente
(90)
Altri exe (110)
Lab 5: Warm up
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Warm Up (40)
Inserisci numeri
Temperatura
mcm
Soluzione: Inserisci
numeri
Problema: Temperatura
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Soluzione: Temperatura
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
mcm: problema
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
mcd (verboso)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
mcm in Octave
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
Lab 5: Un po di
divertimento
Warm Up (40)
Qualche cosa un po' pi divertente
(90)
Maggiore
Equazione secondo grado
Rilievi altimetrici
Problema: Maggiore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
14
Soluzione: Maggiore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
15
Soluzione: Maggiore
righe)
(in due
16
17
18
Esercizio: Rilievi
altimetrici
Si sviluppi un programma in
matlab che acquisisce da tastiera i
dati relativi a rilievi altimetrici e
stampa a video laltitudine media
di tutti quelli che hanno latitudine
compresa tra 10 e 80 e longitudine
tra 30 e 60
19
20
jj=1;
for ii=1:length(arch)
%attenzione: la condizione deve essere scritta sulla
stessa linea
if arch(ii).latitudine>=10&&arch(ii).latitudine<=80 &&
arch(ii).longitudine>=30&&arch(ii).longitudine<=60
elemSelez(jj) = arch(ii).altitudine;
jj=jj+1;
end
end
disp(['la media degli elementi selezionati e` '
num2str(mean(elemSelez))]);
21
Warm Up (40)
Qualche cosa un po' pi divertente
(90)
Altri exe (110)
Cambio base
Scambio elementi
Matrici
Citt
22
23
24
Problema: Scambio
elementi
25
Soluzione: Scambio
elementi
26
Soluzione: Scambio
elementi
27
Problema: Matrici
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
28
Soluzione: Matrici
(prima parte)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
AB=A*B;
BA=B*A;
val = (AB==BA);
if (sum(sum(val))==0)
disp('Le due matrici A*B e B*A sono diverse');
else
disp('Le due matrici A*B e B*A sono uguali');
end
ABT = (A*B)';
ATBT = (A')*(B');
val = (ABT==ATBT);
if (sum(sum(val))==0)
disp('Le due matrici (A*B)T e AT*BT sono diverse');
else
disp('Le due matrici (A*B)T e AT*BT sono uguali');
end
29
Soluzione: Matrici
parte)
(seconda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ABT = (A*B)';
BTAT = (B')*(A');
val = (ABT==BTAT);
if (sum(sum(val))==0)
disp('Le due matrici (A*B)T e BT*AT sono diverse');
else
disp('Le due matrici (A*B)T e BT*AT sono uguali');
end
PR = (A+B)^2;
SE = (A^2)+(2*A*B)+(B^2);
val = (PR==SE);
if (sum(sum(val))==0)
disp('Le due matrici (A + B)2 e A2 + 2AB + B2 sono diverse');
else
disp('Le due matrici (A + B)2 e A2 + 2AB + B2 sono uguali');
end
30
Problema: Citt
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
31
Soluzione: Citt
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
32
33