//--------------------------------------
// Université de Nice -- Sophia Antipolis
// Polytech'Nice -- Sophia
// Département Électronique, 3e année
// Cours de Statistique Appliquée
// Iannis.Aliferis@unice.fr
// deneire@unice.fr
//---------------------------------------
//  exécuter avec la commande
// > exec('le_nom_du_fichier.sce')
// Vous pouvez, à la fin, obtenir les valeurs
// de toutes les variables calculées en tapant leur nom
// dans la ligne de commande.
//---------------------------------------
// Chapitre :
// Statistique Inférentielle: échantillonnage
//---------------------------------------
// Script :
// Visualiser la v.a. normale
//---------------------------------------
// Description
//
// Tracer la ddp et la fdr de la v.a. normale, faire varier la valeur max.
//--------------------------------------
clear;
clf;
//--------------------------------------
// Gestion minimale des fichiers de sortie (figures)
//--------------------------------------
// Définir le nom de base des fichiers créés avec les figures
filename = "echantillonnage_loi_normale";
// Définir un compteur pour les fichiers créés ; ils auront tous le même nom de base plus un numéro.
file_index = 1;
//--------------------------------------
// La v.a. normale
//--------------------------------------
mu = 0 ;                    // Fixer l'espérance à zéro.
sigma = [1:0.25:5];         // Faire varier l'écart-type entre start.sigma et stop.sigma.
points=500;                 // nombre de points
for  i = 1:length(sigma)    // Une boucle sur toutes les valeurs possibles de sigma
      by=(2*3*max(sigma))/points;
	x = [-3*max(sigma)+by : by : 3*max(sigma)];		  //  les valeurs de x
	esp.x = mu  ; 				   	   	   // l'espérance
	std.x = sigma(i); 					   // l'écart-type
	
	px.normale=1/sqrt(2*%pi)/std.x*exp(-(x-mu)^2/2/std.x/std.x);
	
	//    !!!!!!!!!!!!!!!!! help cdfnor

	// La fonction de répartition
	[Fx.normale,invFx.normale] = cdfnor("PQ",x,esp.x*ones(1,points),std.x*ones(1,points));

	//--------------------------------------
	// Tracer les courbes
	//--------------------------------------
	// En haut la fonction de probabilité
	// garder toujours les mêmes limites, correspondant à la courbe la plus haute
	haut = 1/sqrt( 2 * %pi * min( sigma )^2 );
	clf;
	subplot(211);
	plot(x,px.normale);
      axes=get("current_axes");
	axes.data_bounds=[-3*max(sigma),3*max(sigma),0,haut];
	axes.x_label.text="x";
	axes.y_label.text="pX(x)";
	axes.title.text="px";
	
            //  ajouter une ligne pour l'espérance
	//  ajouter deux fleches pour l'écart-type
     //  Ajouter des lignes pour les déciles
	//  et finalement créer les lignes verticales, entre y=0 et y=px.deciles, à x=deciles
 	subplot(212);
	plot( x, Fx.normale)                          // Fonction de répartition
	axes=get("current_axes");
	axes.data_bounds=[-3*max(sigma),3*max(sigma),0,1];
	axes.x_label.text="x";
	axes.y_label.text="FX(x)";
	axes.title.text="Fx";


	plot( x, Fx.normale);                // réafficher Fx(x) 
	//  Ajouter des lignes pour les déciles:
	//  Exporter en eps
	xs2eps(0,strcat([filename,"_scilab_fig",string(file_index),".eps"]));
	//  Augmenter le compteur des fichiers créés.
	file_index = file_index + 1;
	pause;
end

