%  Esercizio: implementare la densità normale bivariata standardizzata nell'intervallo [-4 4] per le coordinate x e y e costruire il relativo grafico a superficie tramite la funzione surf. Come coordinate x ed y utilizzare le sequenze -4, 3.9, ..., 4
% Inserire il parametro rho in una variabile. Aggiungere al parametro rho un "numeric slider" con valore minimo -1, massimo 1 e passo 0.1 in modo tale monitorare come varia il grafico della densità normale bivariata al variare di rho.
% Calcolare la densità normale bivaraita tramite doppio ciclo for oppure senza doppio ciclo for
%
% Densità normale bivariata
%
% Soluzione
% Osservazione: nella normale standardizzata
% \mu_x=\mu_y=0
% \sigma_x=\sigma_y=1

% Creazione della sequenza da -4 a 4 con passo di 0.1
% Dato che le sequenze su x e su y sono le stesse mi basta creare un'unica
% sequenza
seq=-4:0.1:4;
lseq=length(seq);
% dens= inizializzazione della matrice dens il cui generico elemento (i,j)
% conterrà la densità della distribuzione normale bivariata in
% corrispondenza f(seq(i), seq(j)) con i=1,2, ..., lseq e j=1, 2, ..., lseq
dens=zeros(lseq,lseq);

%
% Per inserire lo slider dal menu insert|Control|NumericSlider.
% Dx del mouse  sul controllo per impostare min. max e passo

rho=0.8;
for i=1:lseq
    for j=1:lseq
        dens(i,j)=(1/(2*pi*sqrt(1-rho^2)))...
            *exp(-(1/(2*(1-rho^2)))*(seq(i)^2+seq(j)^2-2*rho*seq(i)*seq(j)));
    end
end

surf(dens)

%
%
% Implementazione della densità normale bivariata senza cicli for
%

% Inizializzazione di dens1

rho=0.4;
seqx=(-4:0.1:4)'; % seqx definito come vettore colonna
seqy=seqx';  % seqy definito come vettore riga
% si noti che seqx * seqy è una matrice di dimensione length(seqx)-by-length(seqy) il cui generico elemento è
% seqx(i)*seqy(j)
% Similmente seqx+seqy è una matrice di dimensione length(seqx)-by-length(seqy) il cui generico elemento è
% seqx(i)+seqy(j)
dens1=(1/(2*pi*sqrt(1-rho^2)))...
    *exp(-(1/(2*(1-rho^2)))*(seqx.^2+seqy.^2-2*rho*seqx*seqy));
% La matrice dens1 è esattamente uguale alla matrice dens ottenuta
% nella sezione precedente
surf(dens1)