Section : Statistiques en Scilab
Précédent : Générateurs pseudo-aléatoires.
Suivant : Calculs de moments.
La fonction plot2d3 permet de représenter des
diagrammes en bâtons et a déjà été utilisée.
La fonction histplot représente des histogrammes.
Son premier paramètre peut être un entier (nombre
de classes), auquel cas l'histogramme est régulier,
ou un vecteur donnant les bornes des classes.
x=rand(1,1000);
xbasc()
histplot(10,x)
xbasc()
histplot([0,0.2,0.5,0.6,0.9,1],x)
y=grand(x,"exp",1);
xbasc()
histplot(10,y)
xbasc()
histplot(-log([1:-0.1:0.01]),y)
Pour représenter un nuage de points dans le plan,
on peut utiliser plot2d avec un style de
représentation négatif ou nul. La fonction hist3d
représente des histogrammes dans
IR
mais
n'effectue pas le calcul des fréquences de classes.
Pour cela, on pourra utiliser la fonction freq2d
définie ci-dessous. Elle prend en entrée deux
vecteurs de bornes, bornex et borney,
et une matrice echant, à 2 lignes et
colonnes.
function f = freq2d(echant,bornex,borney)
// freq2d retourne une matrice dont les
// coefficients sont les frequences de echant
// relatives a bornex et borney
kx = size(bornex,"*")-1;
ky = size(borney,"*")-1;
for i=1:kx,
for j=1:ky,
f(i,j) = size(find(..
echant(1,:) > bornex(i) &..
echant(1,:) <= bornex(i+1) &..
echant(2,:) > borney(j) &..
echant(2,:) <= borney(j+1)),"*");
end;
end;
f=f/sum(f);
Cette fonction sera sauvée dans le fichier freq2d.sci.
La fonction hist3d prend en entrée une
liste formée de la matrice des fréquences, retournée par
freq2d, et des deux
vecteurs de bornes. Voici quelques exemples d'utilisation.
getf("freq2d.sci")
u=rand(2,2000);
plot2d(u(1,:),u(2,:),0)
bx=[0:0.2:1]; by=bx;
f=freq2d(u,bx,by);
xbasc()
hist3d(list(f,bx,by))
t1=max(rand(2,2000),"r");
t2=min(rand(2,2000),"r");
xbasc()
plot2d(t1,t2,0)
bx=[0:0.2:1]; by=bx;
f=freq2d([t1;t2],bx,by);
xbasc()
hist3d(list(f,bx,by))
M=[0;0]; S=[1,0.8;0.8,1];
v=grand(2000,"mn",M,S);
xbasc()
plot2d(v(1,:),v(2,:),0)
bx=[-3:1.2:3]; by=bx;
f=freq2d(v,bx,by);
xbasc()
hist3d(list(f,bx,by))
On peut visualiser des nuages de points à trois
dimensions à l'aide de param3d1, et
utiliser la rotation à l'aide de la souris.
M=[0;0;0];
S=[1,0.5,0.9 ; 0.5,1,0.3 ; 0.9,0.3,1];
v=grand(10000,"mn",M,S);
xbasc()
param3d1(v(1,:)',v(2,:)',list(v(3,:)',0))
Section : Statistiques en Scilab
Précédent : Générateurs pseudo-aléatoires.
Suivant : Calculs de moments.
© B. Ycart (2001)