%% Testo % % 1) Caricare dentro Matlab i dati presenti nel file corr.xlsx % % 2) Calcolare la matrice di correlazione % % 3) Verificare il risultato tramite l'implementazione % manuale. Calcolare la codevianza (numeratore della covarianza) % utilizzando sia l'implementazione matriciale sia la moltiplicazione % elemento per elemento % % Commentare il valore della correlazione ottenuto % % 4) Rappresentare graficamente i dati % tramite diagramma di dispersione % aggiungendo le etichette degli assi, % aggiungendo nel titolo il valore della correlazione % aggiungendo ad ogni punto la rispettiva etichetta (nome di riga) % % 5) Assegnare agli assi ed al titolo una dimensione dei caratteri ('FontSize') % uguale a 16. Aggiungere al grafico la griglia sull'asse Y ('YGrid') % Osservazione: una volta creato il grafico per accedere alle sue proprietà % occorre digitare get(gca) (v. l'help di gca=get current axes) % L'istruzione set(gca,'Nome_Caratteristica_Richiesta','Valore') % consente di cambiare una determinata proprietà del grafico %% Carico i dati dentro MATLAB % 1) Caricare dentro Matlab i dati presenti nel file corr.xlsx [X,nomi,pippo] = xlsread('corr.xlsx','Foglio1','A2:C26'); % modo alternativo di caricare i dati tramite readtable X1=readtable('corr.xlsx','Sheet','Foglio1','Range','A1:C26','ReadRowNames',true); %% Calcolo della matrice di correlazione R=corr(X); %% 3) Implementazione manuale della correlazione m=mean(X); % Calcolo della codevianza (numeratore della covarianza) % utilizzando sia l'implementazione matriciale % codev = codevianza (numeratore della covarianza) codev=(X(:,1)-m(1))'*(X(:,2)-m(2)); % Calcolo della codevianza utilizzando la moltiplicazione % elemento per elemento (istruzione .*) e facendo poi la somma Y1=(X(:,1)-m(1)); Y2=(X(:,2)-m(2)); codevCHK=sum(Y1.*Y2); % Controllo l'uguaglianza delle due implementazioni isequal(codev,codevCHK) % devianza prima variabile devX1=sum((X(:,1)-m(1)).^2); % devianza seconda variabile devX2=sum((X(:,2)-m(2)).^2); % Calcolo di di r (correlazione tra la prima Colonna e la seconda colonna % della matrice X = correlazione tra Prezzo e Potenza) Rmanuale=codev/(sqrt(devX1*devX2)); % Mostra la differenza in valore assoluto tra le due implementazioni disp(abs(R(1,2)-Rmanuale)) % In alternativa a corr è possibile usare anche la funzione corrcoef % corrcoef(X(:,1),X(:,2)) %% Commentare il valore della correlazione ottenuto % La relazione lineare tra le due variabili è crescente e pari a circa l'81 % per cento circa del valore massimo possibile %% Diagramma di dispersione plot(X(:,1),X(:,2),'o') % Aggiunta delle etichette ai punti text(X(:,1),X(:,2),nomi) xlabel('Prezzo') ylabel('Potenza') title(['Diagramma di dispersione e $r_{xy}$=' num2str(R(1,2))],'Interpreter','Latex') %% Font personalizzati e griglia % 5) Assegnare agli assi ed al titolo una dimensione dei caratteri ('FontSize') % uguale a 16. Aggiungere al grafico la griglia sull'asse Y ('YGrid') % L'istruzione get(gca) mostra tutte le proprietà del grafico disp(get(gca)) % Cambia la FontSize nel grafico set(gca,'FontSize',16) % Aggiungo la griglia sull'asse Y set(gca,'YGrid','on')