/*************************************************************************************************************************************/
/* */
/* T E S T D E V A L E U R S A L E A T O I R E S E T */
/* D E L E U R T R A N S F O R M A T I O N N O N L I N E A I R E : */
/* */
/* */
/* Author of '$xtc/proba.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */
/* */
/*************************************************************************************************************************************/
#include "INCLUDES.01.I"
/* Introduit le 20051116101945... */
#define ITER 10000
extern double drand48();
#define MINIMUM 0.0
#define MAXIMUM (100.0-MINIMUM)
#define ALEATOIRE \
(MINIMUM+(MAXIMUM*drand48()))
extern double exp();
#define CONVERSION(x) \
exp(-(x))
main()
{
int n;
double somme1=0,minimum1=+1e300,maximum1=-1e300;
double somme2=0,minimum2=+1e300,maximum2=-1e300;
for (n=1 ; n<=ITER ; n++)
{
double valeur=ALEATOIRE;
minimum1=MIN2(valeur,minimum1);
maximum1=MAX2(valeur,maximum1);
somme1=somme1+valeur;
minimum2=MIN2(CONVERSION(valeur),minimum2);
maximum2=MAX2(CONVERSION(valeur),maximum2);
somme2=somme2+CONVERSION(valeur);
}
printf("\n minimum............................................=%g",minimum1);
printf("\n maximum............................................=%g",maximum1);
printf("\n moyenne des valeurs aleatoires.....................=%f",somme1/(double)n);
printf("\n");
printf("\n minimum............................................=%g",minimum2);
printf("\n maximum............................................=%g",maximum2);
printf("\n moyenne des valeurs aleatoires apres transformation=%f",somme2/(double)n);
}
Copyright © Jean-François COLONNA, 2021-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2021-2024.