Télécharger parastat.procedur

Retour à la liste

Numérotation des lignes :

  1. * PARASTAT PROCEDUR AM 99/07/13 21:15:02 3632
  2. 'DEBPROC' PARASTAT SUPTAB*'TABLE';
  3. *|=====================================================================
  4. *|
  5. *| << OBJET >> :
  6. *|
  7. *| Procedure permettant de calculer la moyenne, l ecart-type,
  8. *| le coefficient de symetrie et le coefficient d aplatissement
  9. *|
  10. *|
  11. *| << ENTREE >> :
  12. *| -- ARGUMENTS OBLIGATOIRES DANS TOUS LES CAS --
  13. *|
  14. *| SUPTAB = objet de type TABLE dont les indices sont des objets de
  15. *| type ENTIER.
  16. *| SUPTAB.i = objet de type TABLE dont les indices sont des objets de
  17. *| type MOTS.
  18. *| SUPTAB.i.POINT = objet de type REEL contenant le i-eme point
  19. *| SUPTAB.i.POIDS = objet de type REEL contenant le i-eme poids
  20. *|
  21. *|
  22. *| << SORTIE >> :
  23. *|
  24. *| MU = objet de type REEL contenant le moyenne
  25. *| SIGMA = objet de type REEL contenant l ecart-type
  26. *| RB1 = objet de type REEL contenant le coefficient de symetrie
  27. *| B2 = objet de type REEL contenant le coefficient d'aplatissement
  28. *|
  29. *|=====================================================================
  30. *
  31. * ______________________
  32. *
  33. * DECLARATIONS GENERALES
  34. * ______________________
  35. *
  36. SI = 'MOT' 'SI' ; SINON = 'MOT' 'SINON' ; FINSI = 'MOT' 'FINSI' ;
  37. REPETER = 'MOT' 'REPETER'; QUITTER = 'MOT' 'QUITTER'; FIN = 'MOT' 'FIN';
  38. EXISTE = 'MOT' 'EXISTE' ; EGA = 'MOT' 'EGA' ;
  39. ERREUR = 'MOT' 'ERREUR' ;
  40. ENTIER = 'MOT' 'ENTIER ' ;
  41. FLOTTANT = 'MOT' 'FLOTTANT' ;
  42. MOT = 'MOT' 'MOT ' ;
  43. * _____
  44. *
  45. * TESTS
  46. * _____
  47. *
  48. N = DIME SUPTAB;
  49. *
  50. * Composantes SCAL pour les calculs sur des CHPO
  51. *
  52. SI (EGA (TYPE SUPTAB. 1 .POINT) 'CHPOINT ');
  53. REPE BOUC N;
  54. SUPTAB. &BOUC .POINT = NOMC SCAL SUPTAB. &BOUC .POINT;
  55. FIN BOUC;
  56. FINSI;
  57. * _________________
  58. *
  59. * DEBUT DES CALCULS
  60. * _________________
  61. *
  62. *
  63. MU = 0. * SUPTAB. 1 .POINT;
  64. VAR = 0. * SUPTAB. 1 .POINT;
  65. MU3 = 0. * SUPTAB. 1 .POINT;
  66. MU4 = 0. * SUPTAB. 1 .POINT;
  67. *
  68. * Calcul de la moyenne
  69. *
  70. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  71. *MESS '%%% Calcul de la moyenne';
  72. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  73. REPE BOUC N;
  74. MU = MU + (SUPTAB .&BOUC. POINT * SUPTAB .&BOUC. POIDS);
  75. FIN BOUC;
  76. *
  77. * Calcul de l ecart-type
  78. *
  79. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  80. *MESS '%%% Calcul de la variance';
  81. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  82. SI (EGA (TYPE MU) 'CHPOINT ');
  83. REPE BOUC N;
  84. VAR = VAR +
  85. (
  86. (
  87. (SUPTAB .&BOUC. POINT - MU)**2
  88. )
  89. * SUPTAB .&BOUC. POIDS
  90. );
  91. FIN BOUC;
  92. SINON;
  93. REPE BOUC N;
  94. VAR = VAR +
  95. (
  96. (
  97. (SUPTAB .&BOUC. POINT - MU)*
  98. (SUPTAB .&BOUC. POINT - MU)
  99. )
  100. * SUPTAB .&BOUC. POIDS
  101. );
  102. FIN BOUC;
  103. FINSI;
  104. SI (EGA (TYPE VAR) 'EVOLUTIO');
  105. AX = EXTR VAR 'ABSC';
  106. OY = EXTR VAR 'ORDO';
  107. OY = OY**0.5;
  108. SIGMA = EVOL MANU 'abs' AX OY;
  109. SINON;
  110. SIGMA = VAR**0.5;
  111. FINSI;
  112. *
  113. * Calcul du coefficient de symetrie
  114. *
  115. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  116. *MESS '%%% Calcul de la symetrie';
  117. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  118. SI (EGA (TYPE MU) 'CHPOINT ');
  119. REPE BOUC N;
  120. MU3 = MU3 +
  121. (
  122. (
  123. (SUPTAB .&BOUC. POINT - MU)**3
  124. )
  125. * SUPTAB .&BOUC. POIDS
  126. );
  127. FIN BOUC;
  128. SINON;
  129. REPE BOUC N;
  130. MU3 = MU3 +
  131. (
  132. (
  133. (SUPTAB .&BOUC. POINT - MU)*
  134. (SUPTAB .&BOUC. POINT - MU)*
  135. (SUPTAB .&BOUC. POINT - MU)
  136. )
  137. * SUPTAB .&BOUC. POIDS
  138. );
  139. FIN BOUC;
  140. FINSI;
  141. SI (EGA (TYPE VAR) 'EVOLUTIO');
  142. RB1 = MU3 * (1 / (var*sigma));
  143. SINON;
  144. RB1 = MU3 * (1/(sigma**3));
  145. FINSI;
  146. SI (EGA (TYPE MU) 'CHPOINT ');
  147. NAT = EXTR MU 'NATU';
  148. RB1 = CHANGER 'ATTRIBUT' RB1 'NATURE' NAT;
  149. FINSI;
  150. *
  151. * Calcul du coefficient d aplatissement
  152. *
  153. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  154. *MESS '%%% Calcul de l applatissement';
  155. *MESS '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%';
  156. SI (EGA (TYPE MU) 'CHPOINT ');
  157. REPE BOUC N;
  158. MU4 = MU4 +
  159. (
  160. (
  161. (SUPTAB .&BOUC. POINT - MU)**4
  162. )
  163. * SUPTAB .&BOUC. POIDS
  164. );
  165. FIN BOUC;
  166. SINON;
  167. REPE BOUC N;
  168. MU4 = MU4 +
  169. (
  170. (
  171. (SUPTAB .&BOUC. POINT - MU)*
  172. (SUPTAB .&BOUC. POINT - MU)*
  173. (SUPTAB .&BOUC. POINT - MU)*
  174. (SUPTAB .&BOUC. POINT - MU)
  175. )
  176. * SUPTAB .&BOUC. POIDS
  177. );
  178. FIN BOUC;
  179. FINSI;
  180. SI (EGA (TYPE VAR) 'EVOLUTIO');
  181. B2 = MU4 *(1/(var*var));
  182. SINON;
  183. B2 = MU4 *(1/(var**2));
  184. FINSI;
  185. SI (EGA (TYPE MU) 'CHPOINT ');
  186. NAT = EXTR MU 'NATU';
  187. B2 = CHANGER 'ATTRIBUT' B2 'NATURE' NAT;
  188. FINSI;
  189. *
  190. *
  191. 'FINPROC' MU SIGMA RB1 B2;
  192.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales