%% ESERCIZIO I % Caricare in memoria il dataset di FSDA citiesItaly. % Trovare tutte le città il cui nome finisce per "no". % Mostrare nella Command Window il valore aggiunto e l'indicatore di % disoccupazione per questi record (punti 5). load citiesItaly.mat rownam=citiesItaly.Properties.RowNames; sel=endsWith(rownam,'no'); disp(citiesItaly(sel,["addedval" "unemploy"])) %% ESERCIZIO II % Creare (tramite ciclo for oppure moltiplicazione matriciale) % la matrice che segue (punti 5) % % 8 16 24 32 40 48 56 64 72 80 % 14 28 42 56 70 84 98 112 126 140 % 20 40 60 80 100 120 140 160 180 200 % 26 52 78 104 130 156 182 208 234 260 % 32 64 96 128 160 192 224 256 288 320 % 38 76 114 152 190 228 266 304 342 380 %% moltiplicazione matriciale % La prima colonna è la sequenza 8, 14, ..., 38 % La seconda colonna è la sequenza precedente moltitplicata per 2 % La terza colonna è la sequenza precedente moltitplicata per 3 % ... % La decima colonna è la sequenza precedente moltitplicata per 10 X=(8:6:38)'*(1:10); disp(X) % In alternativa % X=(4:3:19)'*(2:2:20); %% Esercizio III (punti 20) % Importare i dati della serie storica dei valori del tasso di cambio % presenti nel file cambio.xlsx in formato table. % Denominare questa table con le prime 3 lettere del proprio cognome. % Il file cambio.xlsx si trova in http://www.riani.it/cambio.xlsx % (punti 3) % Assegnare alle due colonne delle table i nomi «date» e «tasso» e poi % convertire la table in timetable (assegnare alla timetable il nome Yt) % (punti 2) % Calcolare la media del tasso di cambio per ogni anno prima utilizzando la % funzione pivot (punti 3) % poi senza utilizzare la funzione pivot (punti 3) % Rappresentare graficamente l'andamento della serie storica annuale % delle medie del tasso di cambio tramite la funzione stackedplot. % Aggiungere come titolo del grafico il proprio nome, cognome % e numero di matricola (punti 3) % Estrarre i record della timetable Yt che vanno dal 2 di dicembre 2018 al % 21 di dicembre 2018 (compreso). Mostrare questi record nella Command % Window (punti 3) % Calcolare la media del tasso di cambio dei record estratti al punto % precedente escludendo i valori missing. Mostare il valore della media % nella Command Window (punti 3) % Domanda facoltativa: controllare tramite assert che le due % implementazioni per il calcolo delle medie dei tassi di cambio per % ogni anno producano gli stessi risultati RIA=webread('http://www.riani.it/cambio.xlsx'); RIA.Properties.VariableNames={'date' 'tasso'}; Yt=table2timetable(RIA); % Media dei tassi di cambio tramite chiamata alla funzione pivot Ytpiv=pivot(Yt,'Rows','date',RowsBinMethod='year',Method='mean',RowLabelPlacement='rownames'); % Media dei tassi di cambio senza chiamata alla funzione pivot Ytret=retime(Yt,"yearly","mean"); % Controllo uguaglianza delle due implementazioni diff=max(abs(Ytpiv{:,1}-Ytret{:,1}))<1e-12; assert(diff,"Le due implementazioni differiscono") stackedplot(Ytret) title('Marco Riani 051485') %% Estrazione di dati startdate=datetime(2018,12,2); enddate=datetime(2018,12,22); TR=timerange(startdate,enddate); Ytsel=Yt(TR,:); MediaSenzaMis=mean(Ytsel,'omitmissing'); disp('Media dei valori del tax di cambio dal 2 di dicembre 2018 al 21 di dicembre 2018') disp(MediaSenzaMis) % Controllo uguaglianza delle due implementazioni diff=max(abs(Ytpiv{:,1}-Ytret{:,1}))<1e-12; assert(diff,"Le due implementazioni differiscono")