// Script Triangunif.sce // Dessine un triangle, génère un échantillon de la loi uniforme // sur ce triangle et affiche le nuage de points // Chaque point du nuage est une combinaison convexe des sommets // avec pour coefficients les espacements d'un 2-échantillon uniforme // sur [0,1] M=input('Coordonnées des sommets du triangle (matrice 2x3)?'); M n=input('Taille d''echantillon ?'); xsom=M(1,:);ysom=M(2,:); U=rand(2,n); // n colonnes de 2-échantillons de U[0,1] so=gsort(U,'r','i');// tri ascendant par colonne pour statistiques d'ordre esp=[so; ones(1:n)]-[zeros(1:n); so];// n colonnes d'espacements X=xsom*esp; //abscisses du nuage Y=ysom*esp; //ordonnées du nuage // // Affichages // xbasc(); xmin=min(xsom)-0.2*(max(xsom)-min(xsom)); xmax=max(xsom)+0.2*(max(xsom)-min(xsom)); ymin=min(ysom)-0.2*(max(ysom)-min(ysom)); ymax=max(ysom)+0.2*(max(ysom)-min(ysom)); plot2d([xmin xmax],[ymin ymax],[-1 -1],"021");// cadre vide // L'utilisation de la couleur doit être gérée par le contexte graphique // à l'extérieur de 'xpoly' xset("use color",1); xset('color',5); xpoly(xsom,ysom,"lines",1);// tracé du triangle en rouge xset('color',2); xpoly(X,Y,'marks');// tracé du nuage de points en bleu xset("default")