//-------------------------------------- // 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