Download fdens.procedur

Back to the list

   1 : * FDENS     PROCEDUR  CHLOE     99/03/18    21:15:03     3528           
   2 : debproc fdens   tpar*table xi*flottant;
   3 : *
   4 : *
   5 : * xi la variable
   6 : *
   7 : * 
   8 : *
   9 : * tpar table contenant les parametres de la densite
  10 : *
  11 : * SORTIE :
  12 : *
  13 : *
  14 : * fdens valeur de la densite en xi
  15 : *
  16 : *
  17 : *loi rectangulaire
  18 : numva=tpar . typva;
  19 : SI (EGA numva loi_uniforme);
  20 :  A=TPAR . A;
  21 :  B=TPAR . B;
  22 :  SI (ET (>EG Xi A) (<EG Xi B));
  23 :   xDENS= 1./ (B - A);
  24 :  SINON;
  25 :   xDENS=0.;
  26 :  FINSI;
  27 :   quitter fdens;
  28 : FINSI;
  29 : *
  30 : *
  31 : *loi laplace
  32 : SI (EGA numva loi_de_laplace ) ;
  33 :  xDENS=0.5 * (EXP (0. - (ABS Xi)));
  34 :   quitter fdens;
  35 : FINSI;
  36 : *
  37 : *
  38 : *loi  normale standard centree reduite 
  39 : SI (EGA numva loi_normale_standard) ;
  40 :  AUX1=0.5*Xi*Xi;
  41 :  AUX3=(2.*PI)**0.5;
  42 :  xDENS= (EXP (0. - AUX1)) / AUX3;
  43 :   quitter fdens;
  44 : FINSI;
  45 : *
  46 : *
  47 : *loi exponentielle
  48 : SI (EGA numva loi_exponentielle) ;
  49 :  LBDA=TPAR . LAMBDA;
  50 :  MU= TPAR . MU;
  51 :  SI (>EG Xi MU);
  52 :   xDENS=LBDA*(EXP (LBDA*(MU - Xi)));
  53 :  SINON;
  54 :   xDENS=0.;
  55 :  FINSI;
  56 :   quitter fdens;
  57 : FINSI;
  58 : *
  59 : *
  60 : *loi lognormale  
  61 :   SI (EGA numva loi_lognormale );
  62 :        SI (> XI 0.);
  63 :          MOY = TPAR . MOYENNE ;
  64 :          FSIG= TPAR . ECART_TYPE;
  65 :          MOY2 = MOY * MOY;
  66 :          FSIG2=FSIG * FSIG;
  67 : *N pour ecarttype et moyenne de la loi normale associe
  68 :          NSIG2=log((MOY2+FSIG2)/MOY2);
  69 :          NSIG = NSIG2 ** 0.5;
  70 :          NMOY = log(moy2/((MOY2+FSIG2)** 0.5));
  71 :          aux=(2 * Pi)**0.5;
  72 :          xdens = 1 / (aux * NSIG * XI) * (exp (-1 / (2 * NSIG2) * 
  73 :              (log xi - NMOY) * (log xi - NMOY)));
  74 :        sinon;
  75 :          xdens = 0d0;
  76 :        finsi;
  77 :   quitter fdens;
  78 :   finsi;
  79 : *
  80 : *
  81 : *loi normale
  82 :   SI (EGA numva  loi_normale);
  83 :     MOY = TPAR . MOYENNE ;
  84 :     FSIG= TPAR . ECART_TYPE;
  85 :         aux1 = xi - moy ** 2 / -2 / (fsig*fsig);
  86 :         xdens = exp aux1 / ((2*pi)**0.5)/fsig ;
  87 :   quitter fdens;
  88 :   finsi;
  89 : *
  90 : *
  91 : *loi weibull min
  92 :   SI (EGA numva  loi_weibull_min);
  93 :  TAU= TPAR . TAU;
  94 :  K= TPAR . K;
  95 :  W= TPAR . W;
  96 :  SI (>EG Xi TAU);
  97 :    AUX=(Xi-TAU)/(W-TAU);
  98 :    AUX2=AUX**(K - 1);
  99 :    AUX3=0. - (AUX**K);
 100 :    xDENS=AUX2*K/(W-TAU)*(EXP AUX3);
 101 :  SINON;
 102 :    xDENS = 0.;
 103 :  FINSI;
 104 :   quitter fdens;
 105 : FINSI;
 106 : *
 107 : *
 108 : *loi normale tronquee
 109 :   SI (EGA numva  loi_normale_tronquee);
 110 :  MM  = TPAR . MOYENNE;
 111 :  SIIGM= TPAR . ECART_TYPE;
 112 :  MMIN= TPAR . MIN;
 113 :  MMAX= TPAR . MAX;
 114 :  SI (OU (<EG Xi MMIN) (>EG Xi MMAX));
 115 :    xDENS=0.;
 116 :  SINON;
 117 :    AUX=(MMIN-MM)/SIIGM;
 118 :    AUX1=1 - (erf (-0.7071067811865475 * aux )) * 0.5;
 119 :    AUX=(MMAX-MM)/SIIGM;
 120 :    AUX2=1 - (erf (-0.7071067811865475 * aux )) * 0.5;
 121 :    AUX3=(Xi-MM)*(Xi-MM)/(-2.*SIIGM*SIIGM);
 122 :   AUX4=(2.*PI)**0.5*SIIGM;
 123 :   xDENS=(EXP AUX3)/(AUX2 - AUX1)/AUX4;
 124 :  FINSI;
 125 :   quitter fdens;
 126 : FINSI;
 127 : *
 128 : *
 129 : **loi exponentielle tronquee
 130 :   SI (EGA numva  loi_exponentielle_tronquee);
 131 :  LBDA=TPAR . LAMBDA;
 132 :  MU=  TPAR . MU  ;
 133 :  MIN= TPAR . MIN;
 134 :  MAX= TPAR . MAX;
 135 :  M=MAXIMUM (PROG MIN MU);
 136 :  SI (OU (<EG Xi M) (>EG Xi MAX));
 137 :   xDENS=0.;
 138 :  SINON;
 139 :   AUX1=EXP (LBDA*(MU-M));
 140 :   AUX2=EXP (LBDA*(MU-MAX));
 141 :   xDENS=LBDA*(EXP (LBDA*(MU-Xi)))/(AUX1 - AUX2);
 142 :  FINSI;
 143 :   quitter fdens;
 144 : FINSI;
 145 : *
 146 : *
 147 : ***loi gumbel max
 148 :   SI (EGA numva  loi_gumbel_max);
 149 :  LBDA=TPAR . LAMBDA;
 150 :  MU=  TPAR . MU    ;
 151 :  AUX=EXP (0. - (LBDA*(Xi - MU)));
 152 :  xDENS=LBDA*(EXP (0. - LBDA*(Xi - MU) - AUX));
 153 :   quitter fdens;
 154 : FINSI;
 155 : *
 156 : *
 157 : ****loi normale tronquee inf
 158 :   SI (EGA numva  loi_normale_tronquee_inf);
 159 :  MM  = TPAR . MOYENNE;
 160 :  SSIGM= TPAR . ECART_TYPE;
 161 :  MMIN= TPAR . MIN;
 162 :  SI (< Xi MMIN);
 163 :   xDENS=0.;
 164 :  SINON;
 165 :   AUX = (MMIN - MM)/SSIGM;
 166 :   AUX1 =1 - (erf (-0.7071067811865475 * aux )) * 0.5;
 167 :   AUX2=(Xi-MM)*(Xi-MM)/(-2*SSIGM*SSIGM);
 168 :   xDENS=(EXP AUX2)/((2.*PI)**0.5*SSIGM*(1. - AUX1));
 169 :  FINSI;
 170 :   quitter fdens;
 171 : FINSI;
 172 : *
 173 : *
 174 : ***** Loi de Frechet
 175 :   SI (EGA numva  loi_de_frechet);
 176 :   U = TPAR . U;
 177 :   K = TPAR . K;
 178 :   B = TPAR . B;
 179 :   SI (<EG Xi B);
 180 :     xDENS = 0.;
 181 :   SINON;
 182 :      XAUX = ((U - B) / (Xi - B))**K;
 183 :      D1 = EXP (-1. * XAUX);
 184 :      xDENS = D1 * XAUX * K / (Xi - B);
 185 :   FINSI;
 186 :   quitter fdens;
 187 : FINSI;
 188 : ****
 189 : ****
 190 : ****
 191 : finproc xdens;
 192 :  

© Cast3M 2003 - All rights reserved.
Disclaimer