* fichier : bruipois.dgibi
*---------------------------------------------------------------------*
* Cas test de l'operateur 'BRUI', option 'POIS' *
* *
* Ce cas-test verifie la valeur moyenne de variables distribuees *
* suivant une disribution de Poisson que fournit l'operateur 'BRUI' *
* avec l'option 'POIS'. Pour tester differentes valeurs moyennes *
* ainsi que le tirage d'un nombre plus ou moins important de valeurs, *
* ce cas-test realise 4 fois 2 tirages de valeurs moyennes inferieures*
* ou superieures a la valeur 50, l'operateur s'appuyant sur des algo- *
* -rithmes differents dans chaque cas. *
* *
*---------------------------------------------------------------------*
* *
* Mettre IMES1 a VRAI pour avoir les messages :
IMES1 = FAUX ;
* *
'OPTI' 'ECHO' 0 ;
* *
* Valeur moyenne de la distrib. de Poisson (THETA1 / THETA2) :
THETA1 = 7 ;
THETA2 = 72 ;
* *
* Nombre de valeurs à tirer : NBVAL1 :
NBVAL1 = 100 ;
NBVAL2 = 250 ;
* *
*---------------------------------------------------------------------*
* *
* Debut du test *
* *
*---------------------------------------------------------------------*
* *
* Je fais 4 iterations pour tester differentes moyennes et longueur *
* de distributions : *
'REPE' B0 4 ;
* *
*--------------- Test pour une valeur moyenne inf. a 50 --------------*
* *
* Tirage : *
LVDP1 = 'BRUI' 'BLAN' 'POIS' THETA1 NBVAL1 ;
* *
* Verification de la val. moyenne de la distrib. : *
NB1 = 'DIME' LVDP1 ;
MOY1 = 0 ;
'REPE' B1 NB1 ;
MOY1 = MOY1 + ('EXTR' LVDP1 &B1) ;
'FIN' B1 ;
MOY1 = ('FLOT' MOY1) / ('FLOT' NB1) ;
ECA1 = 'ENTI' (('FLOT' THETA1) - MOY1) ;
'SI' IMES1 ;
'SAUT' 1 'LIGN' ;
'MESS' '*** TEST POUR UNE MOYENNE < 50 :' ;
'MESS' ' ----------------------------' ;
'MESS' ' Valeur moyenne du tirage / valeur demandee :' MOY1 '/'
THETA1 ;
'MESS' ' Partie entiere de l"ecart a la moyenne i...:' ECA1 ;
'MESS' ' Nombre de valeurs tirees...................:' NBVAL1 ;
'FINS' ;
* *
'SI' (ECA1 'NEG' 0) ;
'ERRE' 5 ;
'FINS' ;
* *
*--------------- Test pour une valeur moyenne sup. a 50 --------------*
* *
* Tirage : *
LVDP2 = 'BRUI' 'BLAN' 'POIS' THETA2 NBVAL2 ;
* *
* Verification de la val. moyenne de la distrib. : *
NB2 = 'DIME' LVDP2 ;
MOY2 = 0 ;
'REPE' B2 NB2 ;
MOY2 = MOY2 + ('EXTR' LVDP2 &B2) ;
'FIN' B2 ;
MOY2 = ('FLOT' MOY2) / ('FLOT' NB2) ;
ECA2 = 'ENTI' (('FLOT' THETA2) - MOY2) ;
'SI' IMES1 ;
'SAUT' 1 'LIGN' ;
'MESS' '*** TEST POUR UNE MOYENNE > 50 :' ;
'MESS' ' ----------------------------' ;
'MESS' ' Valeur moyenne du tirage / valeur demandee :' MOY2 '/'
THETA2 ;
'MESS' ' Partie entiere de l"ecart a la moyenne.... :' ECA2 ;
'MESS' ' Nombre de valeurs tirees...................:' NBVAL2 ;
'FINS' ;
* *
'SI' (ECA2 'NEG' 0) ;
'ERRE' 5 ;
'FINS' ;
* *
*--------- Je modifie les moyennes et le nombre de valeurs -----------*
* *
THETA1 = THETA1 + (('EXTR' LVDP1 2) / &B0) ;
THETA2 = THETA2 + ('EXTR' LVDP2 1) ;
NBVAL1 = NBVAL1 * 10 ;
NBVAL2 = NBVAL2 * 10 ;
* *
'FIN' B0 ;
* *
*---------------------------------------------------------------------*
* *
* Fin du test *
* *
*---------------------------------------------------------------------*
* *
* Message de sortie si test reussi : *
* *
'SI' IMES1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** TEST REUSSI ! *** ' ;
'FINS' ;
* *
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer