Télécharger @pashist.procedur

Retour à la liste

Numérotation des lignes :

  1. * @PASHIST PROCEDUR PASCAL 20/11/13 21:15:01 10778
  2. *---------------------------------------------------------------------*
  3. *---------------------------------------------------------------------*
  4. 'DEBP' @PASHIST ;
  5. * *
  6. *------------------------ Lecture des entrees ------------------------*
  7. * *
  8. * Modele / Champ a analyser : *
  9. 'ARGU' MOD1*'MMODEL' CHAM1*'MCHAML' ;
  10. * *
  11. * Nom de la composante : *
  12. 'ARGU' LCOMP1/'LISTMOTS' ;
  13. ICOMP1 = 'EXIS' LCOMP1 ;
  14. 'SI' ('NON' ICOMP1) ;
  15. 'ARGU' COMP1/'MOT' ;
  16. ICOMP1 = 'EXIS' COMP1 ;
  17. 'SI' ICOMP1 ;
  18. LCOMP1 = 'MOTS' COMP1 ;
  19. 'FINS' ;
  20. 'FINS' ;
  21. 'SI' ICOMP1 ;
  22. CHAM2 = 'EXCO' CHAM1 LCOMP1 LCOMP1 ;
  23. 'SINO' ;
  24. CHAM2 = CHAM1 ;
  25. 'FINS' ;
  26. * *
  27. * Visualisation (entree cachee) : *
  28. 'ARGU' IVISU1/'LOGIQUE' ;
  29. 'SI' ('NON' ('EXIS' IVISU1)) ;
  30. IVISU1 = FAUX ;
  31. 'FINS' ;
  32. * *
  33. *------------------- Intervalles d'Echantillonnage -------------------*
  34. * *
  35. XMINI1 = 'MINI' CHAM2 ;
  36. XMAXI1 = 'MAXI' CHAM2 ;
  37. XPLAG1 = XMAXI1 - XMINI1 ;
  38. EPLAG1 = 10. ** ('ENTI' (('LOG' XPLAG1) / ('LOG' 10.))) ;
  39. XMININ1 = XMINI1 / EPLAG1 ;
  40. XPLAGN1 = XPLAG1 / EPLAG1 ;
  41. 'SI' (XPLAGN1 '<' 2.) ;
  42. ICOEF1 = 2 ;
  43. XPASI1 = 0.2 ;
  44. XPLAGN2 = 1.
  45. + (('FLOT' ((('ENTI' ((XPLAGN1 - 1.) * 10.)) / 2) + 1)) * XPASI1) ;
  46. 'SI' (XMINI1 '<' 0.) ;
  47. XMININ1 = XMININ1 - 0.1 ;
  48. 'FINS' ;
  49. XMININ2 = ('FLOT' ('ENTI' (XMININ1 * 10.))) * 0.1 ;
  50. 'SINO' ;
  51. 'SI' (XPLAGN1 '<' 5.0) ;
  52. ICOEF1 = 1 ;
  53. XPASI1 = 0.5 ;
  54. XPLAGN2 = 1.
  55. + (('FLOT' ((('ENTI' ((XPLAGN1 - 1.) * 10.)) / 5) + 1)) * XPASI1) ;
  56. 'SI' (XMINI1 '<' 0.) ;
  57. XMININ1 = XMININ1 - 0.1 ;
  58. 'FINS' ;
  59. XMININ2 = ('FLOT' ('ENTI' (XMININ1 / (0.5 * XPASI1))))
  60. * (0.5 * XPASI1) ;
  61. 'SINO' ;
  62. ICOEF1 = 0 ;
  63. XPASI1 = 1.0 ;
  64. XPLAGN2 = 1.
  65. + (('FLOT' ((('ENTI' ((XPLAGN1 - 1.) * 10.)) / 10) + 1)) * XPASI1) ;
  66. 'SI' (XMINI1 '<' 0.) ;
  67. XMININ1 = XMININ1 - 1.0 ;
  68. 'FINS' ;
  69. XMININ2 = 'FLOT' ('ENTI' XMININ1) ;
  70. 'FINS' ;
  71. 'FINS' ;
  72. XPASI1 = XPASI1 * EPLAG1 ;
  73. XMINI2 = XMININ2 * EPLAG1 ;
  74. XPLAG2 = XPLAGN2 * EPLAG1 ;
  75. XMAXI2 = XMINI2 + XPLAG2 ;
  76. LRE2 = 'PROG' XMINI2 PAS XPASI1 XMAXI2 ;
  77. * *
  78. *--------------- Analyse par raffinements successifs ----------------*
  79. * *
  80. LCOEF1 = 'PROG' 0.5 0.4 0.5 ;
  81. * *
  82. NB1 = 20 ;
  83. LREI1 = LRE2 ;
  84. DDISTI1 = 'HIST' MOD1 CHAM2 LRE2 ;
  85. LMES1 = 'PROG' ;
  86. LPAS1 = 'PROG' ;
  87. NBOF1 = 0 ;
  88. 'REPE' B1 NB1 ;
  89. ICOEF1 = ICOEF1 + 1 ;
  90. 'SI' (ICOEF1 'EGA' 4) ;
  91. ICOEF1 = 1 ;
  92. 'FINS' ;
  93. * Raffinement plage d'echantillonnage : *
  94. XCOEF1 = LCOEF1 'EXTR' ICOEF1 ;
  95. XPASI1 = XPASI1 * XCOEF1 ;
  96. LREI1 = 'PROG' XMINI2 PAS XPASI1 XMAXI2 ;
  97. LPAS1 = LPAS1 'ET' ('PROG' XPASI1) ;
  98. * Distribution sur plage d'echantillonnage raffinee : *
  99. DDISTI2 = 'HIST' MOD1 CHAM2 LREI1 ;
  100. * Interpolation distribution grossiere sur plage d'echantillonnage *
  101. * raffinee : *
  102. 'REPE' B11 ('DIME' DDISTI1) ;
  103. COMP11 = 'EXTR' DDISTI1 'LEGX' &B11 ;
  104. LFVI11 = 'IPOL' LREI1 ('EXTR' DDISTI1 'COUR' &B11) ;
  105. DDISTI11 = 'EVOL' 'MANU' 'TYPE' 'HIST' COMP11 LREI1 LFVI11 ;
  106. * Ieme courbe de DDISTI2 : *
  107. DDISTI21 = 'EXTR' DDISTI2 'COUR' &B11 ;
  108. * Mesure Ecarts : *
  109. MESI11 = ('INTG' ((DDISTI21 - DDISTI11) ** 2)) ;
  110. 'SI' (&B11 'EGA' 1) ;
  111. DDISTI0 = DDISTI11 ;
  112. MESI1 = MESI11 ;
  113. 'SINO' ;
  114. DDISTI0 = DDISTI0 'ET' DDISTI11 ;
  115. 'SI' (MESI11 '<' MESI1) ;
  116. MESI1 = MESI11 ;
  117. 'FINS' ;
  118. 'FINS' ;
  119. 'FIN' B11 ;
  120. DDISTI1 = DDISTI0 ;
  121. LMES1 = LMES1 'ET' ('PROG' MESI1) ;
  122. * Visualisation : *
  123. 'SI' IVISU1 ;
  124. MOTMESI1 = 'CHAI' 'Mesure ecart L2 = ' MESI1 ;
  125. 'DESS' (DDISTI1 'ET' (DDISTI2 'COUL' 'ROUG')) 'TITR' MOTMESI1 ;
  126. 'FINS' ;
  127. * Sauvegarde Plage d'echantillonnage : *
  128. 'SI' (&B1 'EGA' 1) ;
  129. MESREF1 = MESI1 ;
  130. 'SINO' ;
  131. 'SI' (MESI1 '<' MESREF1) ;
  132. MESREF1 = MESI1 ;
  133. LRE2 = LREI1 ;
  134. 'SINO' ;
  135. NBOF1 = NBOF1 + 1 ;
  136. 'FINS' ;
  137. 'FINS' ;
  138. * Test sortie boucle : *
  139. 'SI' (NBOF1 '>' 2) ;
  140. 'QUIT' B1 ;
  141. 'SINO' ;
  142. DDISTI1 = DDISTI2 ;
  143. 'FINS' ;
  144. 'FIN' B1 ;
  145. * *
  146. *--------------------------- Sortie Et Fin ---------------------------*
  147. * *
  148. * Visualisation evolution ecart : *
  149. 'SI' IVISU1 ;
  150. 'DESS' ('EVOL' 'MANU' LPAS1 LMES1) 'LOGX' 'TITR' 'Evolution ecart' ;
  151. 'DESS' ('HIST' MOD1 CHAM2 LRE2) 'TITR' 'Echantillonnage propose' ;
  152. 'FINS' ;
  153. * *
  154. 'RESP' LRE2 ;
  155. * *
  156. 'FINP' ;
  157. *---------------------------------------------------------------------*
  158. * FIN PROCEDURE @PASHIST
  159.  

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