Sylvestre Ledru [Tue, 21 Aug 2012 15:07:29 +0000 (17:07 +0200)]
Change-Id: I16252e5fed4fb87d8a1b18ae01d8a0b8404cbb24

@@ -11,7 +11,7 @@
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
-->
<refnamediv>
<refname>grand</refname>
<refpurpose>Random numbers</refpurpose>
@@ -780,12 +780,28 @@ R = grand(400,800,"nor",0,1);
scf();
histplot(10,R);
xtitle("Normal random numbers from grand","X","Frequency");
+ ]]></programlisting>
+        <scilab:image localized="true">
+R = grand(400,800,"nor",0,1);
+histplot(10,R);
+xtitle("Normal random numbers from grand","X","Frequency");
+        </scilab:image>
+
+        <programlisting role="example"><![CDATA[
// Returns a 400-by-800 matrix of random doubles,
// uniform in [0,1).
R = grand(400,800,"def");
scf();
histplot(10,R);
xtitle("Uniform random numbers from grand","X","Frequency");
+ ]]></programlisting>
+        <scilab:image localized="true">
+R = grand(400,800,"def");
+histplot(10,R);
+xtitle("Uniform random numbers from grand","X","Frequency");
+        </scilab:image>
+
+        <programlisting role="example"><![CDATA[
// Returns a 400-by-800 matrix of random doubles,
// with Poisson distribution and average equal to 5.
R = grand(400,800,"poi",5);
@@ -793,6 +809,12 @@ scf();
histplot(10,R);
xtitle("Poisson random numbers from grand","X","Frequency");
]]></programlisting>
+        <scilab:image localized="true">
+R = grand(400,800,"poi",5);
+histplot(10,R);
+xtitle("Poisson random numbers from grand","X","Frequency");
+        </scilab:image>
+
<para>
In the following example, we generate random numbers from the exponential distribution and
then compare the empirical with the theoretical distribution.
@@ -810,6 +832,18 @@ plot(x,y,"ro-");
legend(["Empirical" "Theory"]);
xtitle("Exponential random numbers from grand","X","Frequency");
]]></programlisting>
+        <scilab:image localized="true">
+lambda=1.6;
+N=100000;
+X = grand(1,N,"exp",lambda);
+classes = linspace(0,12,25);
+histplot(classes,X)
+x=linspace(0,12,25);
+y = (1/lambda)*exp(-(1/lambda)*x);
+plot(x,y,"ro-");
+legend(["Empirical" "Theory"]);
+xtitle("Exponential random numbers from grand","X","Frequency");
+        </scilab:image>
<para>
In the following example, we generate random numbers from the gamma distribution and
then compare the empirical with the theoretical distribution.
@@ -828,6 +862,20 @@ plot(XS,P,"r-"); // Theoretical distribution
legend(["Empirical" "Theory"]);
xtitle("Cumulative distribution function of Gamma random numbers","X","F");
]]></programlisting>
+<scilab:image localized="true">
+N=10000;
+A=10;
+B=4;
+R=grand(1,N,"gam",A,B);
+XS=gsort(R,"g","i")';
+PS=(1:N)'/N;
+P=cdfgam("PQ",XS,A*ones(XS),B*ones(XS));
+scf();
+plot(XS,PS,"b-"); // Empirical distribution
+plot(XS,P,"r-"); // Theoretical distribution
+legend(["Empirical" "Theory"]);
+xtitle("Cumulative distribution function of Gamma random numbers","X","F");
+</scilab:image>
<para>
In the following example, we generate 10 random integers in the [1,365] interval.
</para>
index b2c6844..afc9275 100644 (file)
@@ -11,7 +11,7 @@
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
-->
<refnamediv>
<refname>grand</refname>
<refpurpose> Générateur de nombres pseudo-aléatoires</refpurpose>
@@ -763,12 +763,26 @@ R = grand(400,800,"nor",0,1);
scf();
histplot(10,R);
xtitle("Nombres aléatoires (loi normale) par grand","X","Fréquence");
+ ]]></programlisting>
+<scilab:image localized="true">
+R = grand(400,800,"nor",0,1);
+histplot(10,R);
+xtitle("Nombres aléatoires (loi normale) par grand","X","Fréquence");
+</scilab:image>
+        <programlisting role="example"><![CDATA[
// Renvoit une matrice de taille 400-par-800 de doubles aléatoires,
// uniformes dans [0,1).
R = grand(400,800,"def");
scf();
histplot(10,R);
xtitle("Nombres aléatoires uniformes par grand","X","Fréquence");
+ ]]></programlisting>
+<scilab:image localized="true">
+R = grand(400,800,"def");
+histplot(10,R);
+xtitle("Nombres aléatoires uniformes par grand","X","Fréquence");
+</scilab:image>
+        <programlisting role="example"><![CDATA[
// Renvoit une matrice de taille 400-par-800 de doubles aléatoires,
// avec une distribution de Poisson de moyenne 5.
R = grand(400,800,"poi",5);
@@ -776,6 +790,11 @@ scf();
histplot(10,R);
xtitle("Nombres aléatoires (loi de Poisson) par grand","X","Fréquence");
]]></programlisting>
+<scilab:image localized="true">
+R = grand(400,800,"poi",5);
+histplot(10,R);
+xtitle("Nombres aléatoires (loi de Poisson) par grand","X","Fréquence");
+</scilab:image>
<para>
Dans l'exemple suivant, nous produisons des nombres aléatoires
suivant la loi exponentielle et comparons ensuite la distribution empirique
@@ -794,6 +813,18 @@ plot(x,y,"ro-");
legend(["Empirique" "Theorique"]);
xtitle("Loi exponentielle par grand","X","Fréquence");
]]></programlisting>
+<scilab:image localized="true">
+lambda=1.6;
+N=100000;
+X = grand(1,N,"exp",lambda);
+classes = linspace(0,12,25);
+histplot(classes,X)
+x=linspace(0,12,25);
+y = (1/lambda)*exp(-(1/lambda)*x);
+plot(x,y,"ro-");
+legend(["Empirique" "Theorique"]);
+xtitle("Loi exponentielle par grand","X","Fréquence");
+</scilab:image>
<para>
Dans l'exemple suivant, nous générons des nombres aléatoires selon la distribution
gamma et comparons la distribution empirique et la loi de distribution théorique.
@@ -802,7 +833,7 @@ xtitle("Loi exponentielle par grand","X","Fréquence");
N=10000;
A=10;
B=4;
-R=grand(1,N,"gam",A,B);
+R=grand(1,N,"gam",A,B);
XS=gsort(R,"g","i")';
PS=(1:N)'/N;
P=cdfgam("PQ",XS,A*ones(XS),B*ones(XS));
@@ -812,6 +843,19 @@ plot(XS,P,"r-"); // Theoretical distribution
legend(["Empirique" "Théorique"]);
xtitle("Fonction de distribution cumulée de nombres aléatoires selon la loi Gamma","X","F");
]]></programlisting>
+<scilab:image localized="true">
+N=10000;
+A=10;
+B=4;
+R=grand(1,N,"gam",A,B);
+XS=gsort(R,"g","i")';
+PS=(1:N)'/N;
+P=cdfgam("PQ",XS,A*ones(XS),B*ones(XS));
+plot(XS,PS,"b-");
+plot(XS,P,"r-");
+legend(["Empirique" "Théorique"]);
+xtitle("Fonction de distribution cumulée de nombres aléatoires selon la loi Gamma","X","F");
+</scilab:image>
<para>
Dans l'exemple suivant, nous générons 10 entiers aléatoires dans l'intervalle [1,365].
</para>