Download @pashist.procedur

Back to the list

   1 : * @PASHIST  PROCEDUR  PASCAL    10/01/08    21:15:02     6597           
   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   = 'MAXI' ('SOMM' ((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 - All rights reserved.
Disclaimer