Download bruipois.dgibi

Back to the list

* 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