Télécharger dessin.dgibi

Retour à la liste

Numérotation des lignes :

  1. * dessin.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *_____________________________________________________
  5. *
  6. * PROCEDURE WATERFALL (experimentale)
  7. *_____________________________________________________
  8. *
  9. * tracé Waterfall Cast3M (experimental) ____
  10. *
  11. * /\ .
  12. * _______/ \_/\____.-.._/ \__.---------._____
  13. *
  14. * /\
  15. * _____/\_/\____.-.._/ \__.--.------._____
  16. *
  17. DEBP WATERFALL ev1*'EVOLUTION' y1*'LISTREEL'
  18. moty1/'MOT' moopt1/'LISTMOTS' zcoef1/'FLOTTANT';
  19.  
  20. * initialisations
  21. ZLOGY = FAUX;
  22. * recup des entrees + verif
  23. n1 = DIME ev1;
  24. si (neg n1 (dime y1)); ERRE 625; finsi;
  25. si (neg (type moty1) (MOT 'MOT')); moty1='\c'; finsi;
  26. si (ega (type moopt1) (MOT 'LISTMOTS'));
  27. * veut-on changer l'echelle de y1
  28. * (sans toucher a celle des evolutions) ?
  29. ZLOGY = EXIS moopt1 'LOGY';
  30. finsi;
  31. si (neg (type zcoef1) (MOT 'FLOTTANT')); zcoef1=1.; finsi;
  32.  
  33. * calcul du facteur alpha
  34. * recherche de l'amplitude des evolutions
  35. lindic1 lx1 lf1 = MAXI 'ABS' ev1;
  36. * maxf1 = MAXI 'ABS' lf1;
  37. maxf1 = (SOMM (ABS lf1)) / n1;
  38. * recherche des espaces inter-y
  39. si ZLOGY;
  40. y1log = LOG y1;
  41. dy1 = ((maxi y1log) - (mini y1log)) / (n1 - 1);
  42. sinon;
  43. dy1 = ((maxi y1) - (mini y1)) / (n1 - 1);
  44. finsi;
  45. * calcul de alpha
  46. alpha1 = zcoef1 * dy1 / maxf1;
  47.  
  48. * creation d'une nouvelle evolution prete a tracer
  49. * recup des parametres de l'evolution de depart
  50. coco1 = EXTR ev1 'COUL';
  51. xlabel1 = EXTR ev1 'LEGX' 1;
  52. * ylabel1 = EXTR ev1 'LEGY' 1;
  53. * on ordonne selon y1 decroissant
  54. li1 = lect 1 pas 1 n1;
  55. y2 li2 = ORDO 'DECROISSANT' y1 li1;
  56. * boucle sur les evol elementaires --> nouvelle evol
  57. ev2 = VIDE 'EVOLUTIO';
  58. REPE BEV1 n1;
  59. * choix de l'evol a traiter en premier
  60. i2 = EXTR li2 &BEV1;
  61. y2j = EXTR y2 &BEV1;
  62. * dernier parametre : la couleur
  63. coco2 = EXTR coco1 i2;
  64. molege1 = CHAI moty1 '=' FORMAT '(G10.2)' y2j;
  65. * recup des listreels
  66. xprog2 = EXTR ev1 'ABSC' i2;
  67. fprog1 = EXTR ev1 'ORDO' i2;
  68. * application de alpha aux evolutions
  69. si ZLOGY;
  70. * de maniere a avoir LOG(f2) = LOG(y) + a*f1
  71. fprog2 = y2j * (exp (alpha1 * fprog1));
  72. sinon;
  73. * de maniere a avoir f2 = y + a*f1
  74. fprog2 = y2j + (alpha1 * fprog1);
  75. finsi;
  76. * stockage
  77. ev2 = ev2 et (EVOL coco2 'MANU' 'LEGE' molege1 xlabel1 xprog2 moty1 fprog2);
  78. FIN BEV1;
  79.  
  80. FINP ev2;
  81. *_____________________________________________________
  82.  
  83.  
  84. *----------------------------------------------------------------------*
  85. * cas-test de la directive DESSIN. *
  86. *----------------------------------------------------------------------*
  87. OPTI 'TRAC' 'PSC' 'EPTR' 5 ;
  88. OPTI 'POTR' 'HELVETICA_16' ;
  89. * remarque : il faudrait aussi tester avec
  90. * OPTI TRAC 'X';
  91. * OPTI TRAC 'OPEN' ;
  92.  
  93. * CB : TESTE DES CAS PARTICULIERS AYANT CONDUIT A DES ERREURS PAR LE PASSE
  94. * 1
  95. X1 =PROG -2. PAS 1. 750. ;
  96. Y1 =EXP (-1. * X1);
  97. EV1 = EVOL 'ROUG' MANU X1 Y1;
  98. Tit1= CHAI 'Y=Exp(-X) sur une large gamme de X avec YBOR [0. ; 1.]';
  99. DESS EV1 TITR Tit1 YBOR 0. 1.;
  100.  
  101. * 2
  102. X11 =PROG -2. PAS 1. 750. ;
  103. Y11 =EXP (-1. * X11);
  104. EV11 = EVOL 'ROUG' MANU Y11 X11;
  105. Tit1 = CHAI 'X=Exp(-Y) sur une large gamme de Y avec XBOR [0. ; 1.]';
  106. DESS EV11 TITR Tit1 XBOR 0. 1.;
  107.  
  108. * 3
  109. X2 = PROG -1 0. 1. 1.;
  110. Y2 = PROG -1 0. 1. 1.;
  111. EV2 = EVOL 'ROUG' MANU X2 Y2;
  112. Tit1 = CHAI 'Y=X avec YBOR [0. ; 1.]';
  113. DESS EV2 TITR Tit1 YBOR 0. 1.;
  114.  
  115. * 4
  116. X21 = PROG -1 0. 1. 1.;
  117. Y21 = PROG -1 0. 1. 1.;
  118. EV21 = EVOL 'ROUG' MANU Y21 X21;
  119. Tit1 = CHAI 'X=Y avec XBOR [0. ; 1.]';
  120. DESS EV21 TITR Tit1 XBOR 0. 1.;
  121.  
  122. * 5
  123. X3 = PROG 0. 1. ;
  124. Y3 = PROG -0.1 1.2 ;
  125. EV3 = EVOL 'ROUG' MANU X3 Y3;
  126. Tit1 = CHAI 'YBOR [0. ; 1.]';
  127. DESS EV3 TITR Tit1 YBOR 0. 1.;
  128.  
  129. * 6
  130. X31 = PROG 0. 1. ;
  131. Y31 = PROG -0.1 1.2 ;
  132. EV31 = EVOL 'ROUG' MANU Y31 X31;
  133. Tit1 = CHAI 'XBOR [0. ; 1.]';
  134. DESS EV31 TITR Tit1 XBOR 0. 1.;
  135.  
  136. * 7
  137. X4 = PROG 0. 1. ;
  138. Y4 = PROG 1.2 -1.2 ;
  139. EV4 = EVOL 'ROUG' MANU X4 Y4;
  140. Tit1 = CHAI 'YBOR [0. ; 1.]';
  141. DESS EV4 TITR Tit1 YBOR 0. 1.;
  142.  
  143. * 8
  144. X41 = PROG 0. 1. ;
  145. Y41 = PROG 1.2 -1.2 ;
  146. EV41 = EVOL 'ROUG' MANU Y41 X41;
  147. Tit1 = CHAI 'XBOR [0. ; 1.]';
  148. DESS EV41 TITR Tit1 XBOR 0. 1.;
  149.  
  150. * 9
  151. X5 = PROG 0. ;
  152. Y5 = PROG 1.2 ;
  153. EV5 = EVOL 'ROUG' MANU X5 Y5;
  154. Tit1 = CHAI '1 seul point en [0. ; 1.2] et YBOR [0. ; 1.]';
  155. DESS EV5 TITR Tit1 YBOR 0. 1.;
  156.  
  157. * 10
  158. X51 = PROG 0. ;
  159. Y51 = PROG 1.2 ;
  160. EV51 = EVOL 'ROUG' MANU Y51 X51;
  161. Tit1 = CHAI '1 seul point en [1.2 ; 0.] et XBOR [0. ; 1.]';
  162. DESS EV51 TITR Tit1 XBOR 0. 1.;
  163.  
  164. * 11
  165. X6 = PROG 0. ;
  166. Y6 = PROG 0.5 ;
  167. EV6 = EVOL 'ROUG' MANU X6 Y6;
  168. Tit1 = CHAI '1 seul point en [0. ; 0.5] et YBOR [0. ; 1.]';
  169. DESS EV6 TITR Tit1 YBOR 0. 1.;
  170.  
  171. * 12
  172. X61 = PROG 0. ;
  173. Y61 = PROG 0.5 ;
  174. EV61 = EVOL 'ROUG' MANU Y61 X61;
  175. Tit1 = CHAI '1 seul point en [0.5 ; 0.] et XBOR [0. ; 1.]';
  176. DESS EV61 TITR Tit1 XBOR 0. 1.;
  177.  
  178. * 13
  179. X7 = PROG ;
  180. Y7 = PROG ;
  181. EV7 = EVOL 'ROUG' MANU X7 Y7;
  182. Tit1 = CHAI 'Evolution vide et YBOR [0. ; 1.]';
  183. DESS EV7 TITR Tit1 YBOR 0. 1.;
  184.  
  185. * 14
  186. X71 = PROG ;
  187. Y71 = PROG ;
  188. EV71 = EVOL 'ROUG' MANU Y71 X71;
  189. Tit1 = CHAI 'Evolution vide et XBOR [0. ; 1.]';
  190. DESS EV71 TITR Tit1 XBOR 0. 1.;
  191.  
  192. * 15
  193. X8 = LECT 1 2 3 4 ;
  194. Y8 = PROG -1. 1. 2. 3. ;
  195. EV8 = EVOL 'ROUG' MANU X8 Y8 ;
  196. Tit1 = CHAI 'Evolution avec LISTENTI en ABSCISSE et LISTREEL en ORDONNEES';
  197. DESS EV8 TITR Tit1 ;
  198.  
  199. * 16
  200. X9 = LECT 1 2 3 4 ;
  201. Y9 = LECT -1 1 2 3 ;
  202. EV9 = EVOL 'ROUG' MANU X9 Y9 ;
  203. Tit1 = CHAI 'Evolution avec LISTENTI en ABSCISSE et LISTENTI en ORDONNEES';
  204. DESS EV9 TITR Tit1 ;
  205.  
  206. * 17
  207. X10 = PROG 1. 2. 3. 4.;
  208. Y10 = LECT -1 1 2 3 ;
  209. EV10 = EVOL 'ROUG' MANU X10 Y10 ;
  210. Tit1 = CHAI 'Evolution avec LISTREEL en ABSCISSE et LISTENTI en ORDONNEES';
  211. DESS EV10 TITR Tit1 ;
  212.  
  213. *
  214. * ON TESTE D'ABORD LES ECHELLE ET GRADUATIONS ************************
  215. * (SP)
  216. EV1 = EVOL 'BLEU' 'MANU' (PROG -1. -0.5 0.5 1. 2.)
  217. (PROG 1.E-3 0. 0. 5.E-4 7E-2) ;
  218. DESS EV1 'TITR' ' Sans option' ;
  219.  
  220. DESS EV1 'XBOR' -1.5 2.5
  221. 'TITR' ' Bornes sur X [-1.5 2.5] ' ;
  222.  
  223. DESS EV1 'YBOR' -0.5E-2 7.5E-2
  224. 'TITR' ' Bornes sur Y [-0.5E-2 7.5E-2] ' ;
  225.  
  226. DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2
  227. 'TITR' ' Bornes sur X & Y ' ;
  228.  
  229. DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2
  230. 'XGRA' +0.5 'YGRA' +0.5E-2
  231. 'TITR' ' Bornes sur X-Y & les intervalles de graduations donnes ' ;
  232.  
  233. DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2
  234. 'XGRA' +0.5 'YGRA' +0.5E-2
  235. 'AXES' 'GRIL' 'POIN'
  236. 'TITR' ' La grille & les axes en PLUS ' ;
  237.  
  238.  
  239. * ON TESTE ENSUITE D'AUTRES OPTIONS AVEC UN SYSTEME 2DDL **************
  240. * LEGENDE, TITRES, CENTREMENT, GRILLE ...
  241. * (BP)
  242. * w donné en rad/s
  243. T1=2.;
  244. w1=(2.*pi)/T1;
  245. T2=5.;
  246. w2=(2.*pi)/T2;
  247. xp = prog 0. PAS 0.1 20.;
  248.  
  249. * castem utilise les degrés
  250. yp = 100. * (sin ((180/pi)*w1*xp));
  251. yp2 = 110. * (sin ((180/pi)*w2*xp));
  252.  
  253. ev1 = evol bleu manu xp yp;
  254. ev2 = evol roug manu xp yp2;
  255.  
  256. tdess1 = tabl;
  257. tdess1 . 1 = mot ' REMP MARQ PLUS REGU';
  258. tdess1 . 'TITRE' = tabl;
  259. ent1 = enti w1;
  260. decim1 = (enti (10.*w1)) - (10*ent1);
  261. ent2 = enti w2;
  262. decim2 = (enti (10.*w2)) - (10*ent2);
  263. tdess1 . 'TITRE' . 1 = chai '\W=' ent1 '.' decim1 'rad.s^{-1}';
  264. tdess1 . 2 = mot 'MARQ ROND REGU';
  265. tdess1 . 'TITRE' . 2 = chai '\W=' ent2 '.' decim2 'rad.s^{-1}';
  266.  
  267. DESS (ev1 et ev2)
  268. 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)'
  269. 'TITX' 't(s)' 'POSX' 'CENT'
  270. 'TITY' 'Dépl u_{A}^{1} (m)' 'POSY' 'CENT'
  271. 'LEGE' 'SO' tdess1;
  272.  
  273. DESS (ev1 et ev2)
  274. 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)'
  275. 'TITX' 't(s)' 'POSX' 'CENT'
  276. 'YBOR' -110. 110. 'YGRA' 22
  277. 'TITY' 'Dépl u_{A} (m^{1})' 'POSY' 'CENT'
  278. 'LEGE' tdess1;
  279.  
  280. DESS (ev1 et ev2)
  281. 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)'
  282. 'TITX' 't(s)'
  283. 'XBOR' 0. T2
  284. 'YBOR' -110. 110. 'YGRA' 22.
  285. 'TITY' 'Déplacement x (m)'
  286. 'LEGE' tdess1;
  287.  
  288. *** systeme 2ddl : fonction de tranfert : amplitude et phase ***
  289. ev1tot = VIDE 'EVOLUTION';
  290. ev2tot = VIDE 'EVOLUTION';
  291. * liscoul = mots VIOL BLEU TURQ BLEU ORAN AZUR ROUG ;
  292. liscoul = mots VIOL BLEU TURQ OLIV ORAN AZUR ROUG ;
  293. tdess2 = tabl;
  294. tdess2 . 1 = mot 'MARQ PLUS REGU';
  295. tdess2 . 2 = mot 'MARQ ROND REGU';
  296. tdess2 . 3 = mot 'MARQ CROI REGU';
  297. tdess2 . 4 = mot 'MARQ CARR REGU';
  298. tdess2 . 5 = mot 'MARQ TRIU REGU';
  299. tdess2 . 6 = mot 'MARQ ETOI REGU';
  300. tdess2 . 7 = mot 'MARQ TRID REGU';
  301. tdess2 . 'TITRE' = tabl;
  302.  
  303. xi1 = 0.02 ; xi2 = 0.05;
  304. xi1p = prog 0.001 0.002 0.01 0.02 0.05 0.1 0.15 ;
  305. xi2p = xi1p * (xi2 / xi1);
  306.  
  307. nxi = dime xi1p;
  308. ixi = 0;
  309. repe Bxi nxi; ixi = ixi + 1 ;
  310.  
  311. xi1 = extr xi1p ixi;
  312. xi2 = extr xi2p ixi;
  313. mess ixi ' xi_1=' xi1 ' xi_2=' xi2 ;
  314.  
  315. moxi1 = chai (enti (1000 * (xi1 - (enti xi1))));
  316. si (ega (dime moxi1) 1); moxi1 = chai '00' moxi1; fins;
  317. si (ega (dime moxi1) 2); moxi1 = chai '0' moxi1; fins;
  318. moxi1 = chai (enti xi1) '.' moxi1;
  319. tdess2 . 'TITRE' . ixi = chai '\x_{1}=' (moxi1);
  320.  
  321. m1=2.; k1 = m1*(w1**2); c1 = 2.*xi1*w1*k1;
  322. m2=1.; k2 = m2*(w2**2); c2 = 2.*xi2*w2*k2;
  323. mess w1 m1 k1 c1;
  324. mess w2 m2 k2 c2;
  325.  
  326. wpadim = prog 0. PAS 0.002 2.;
  327. wp = w1 * wpadim;
  328. np = dime wp;
  329. unp = prog np*1.;
  330.  
  331. A_R = ((k1 + k2)*unp) - ((wp**2)*m1);
  332. A_I = wp*(c1 + c2);
  333. B_R = -1.*k2*unp;
  334. B_I = -1.*c2*wp;
  335. D_R = (k2*unp) - ((wp**2)*m2);
  336. D_I = wp*c2;
  337.  
  338. Den_R = (A_R*D_R) - (A_I*D_I) - (B_R**2) + (B_I**2) ;
  339. Den_I = (A_R*D_I) + (A_I*D_R) - (2.*B_R*B_I);
  340. Den2 = (Den_R**2) + (Den_I**2);
  341.  
  342. * pour simplifier on excite seulement en F1 et en phase
  343. F1_R = 1.;
  344. Num11_R = ((Den_R*D_R) - (Den_I*D_I)) * F1_R;
  345. Num11_I = ((Den_R*D_I) - (Den_I*D_R)) * F1_R;
  346. Num12_R = -1.*((Den_R*B_R) - (Den_I*B_I)) * F1_R;
  347. Num12_I = -1.*((Den_R*B_I) - (Den_I*B_R)) * F1_R;
  348.  
  349. X1_R = Num11_R / Den2;
  350. X1_I = Num11_I / Den2;
  351. X2_R = Num12_R / Den2;
  352. X2_I = Num12_I / Den2;
  353.  
  354. X1_AMP = ((X1_R**2)+(X1_I**2))**0.5;
  355. X1_PHA = ATG X1_I X1_R;
  356. X2_AMP = ((X2_R**2)+(X2_I**2))**0.5;
  357. X2_PHA = ATG X2_I X2_R;
  358.  
  359. ev1_amp = evol BLEU manu wpadim X1_AMP;
  360. ev2_amp = evol ROUG manu wpadim X2_AMP;
  361. ev1_pha = evol BLEU manu wpadim X1_PHA;
  362. ev2_pha = evol ROUG manu wpadim X2_PHA;
  363.  
  364. si (xi1 ega 0.02);
  365. tdess1 . 'TITRE' . 1 = mot 'X_{1}';
  366. tdess1 . 'TITRE' . 2 = mot 'X_{2}';
  367.  
  368. * 'Y LOG + titres X et Y centres + LEGE XY'
  369. tit2ddl = chai 'Système à 2ddl : '
  370. '\w_{1}=0.5 \w_{2}=0.2 \x_{1}=2% \x_{2}=5%';
  371. DESS (ev1_amp et ev2_amp)
  372. 'LOGY' 'YBOR' 1.E-3 1.E1
  373. 'GRIL' 'POIN' 'GRIS'
  374. 'TITR' tit2ddl
  375. 'TITX' '\W (Hz)' 'POSX' 'CENT'
  376. 'TITY' 'amplitude |x| (m)' 'POSY' 'CENT'
  377. 'LEGE' 'XY' 1.5 0.8 tdess1;
  378.  
  379. DESS (ev1_pha et ev2_pha)
  380. 'YBOR' -180. 180. 'YGRA' 90.
  381. 'GRIL' 'POIN' 'GRIS'
  382. 'TITR' tit2ddl
  383. 'TITX' '\W (Hz)' 'POSX' 'CENT'
  384. 'TITY' 'phase \j(x) (m)' 'POSY' 'CENT'
  385. 'LEGE' 'XY' 1.5 160 tdess1;
  386.  
  387. fins;
  388.  
  389. ev1tot = ev1tot et (ev1_amp coul (extr liscoul ixi));
  390. ev2tot = ev2tot et (ev2_amp coul (extr liscoul ixi));
  391.  
  392. fin Bxi;
  393.  
  394.  
  395. * ON CONTINUE AVEC D'AUTRES OPTIONS
  396. * (BP)
  397.  
  398. tit2 = chai 'Evolution avec l`amortissement \x';
  399. DESS ev1tot
  400. 'GRIL' 'POIN' 'GRIS' 'TITR' tit2
  401. 'LOGY'
  402. 'TITX' '\W (Hz)' 'POSX' 'CENT'
  403. 'TITY' '|X_{1}| (m)' 'POSY' 'CENT'
  404. 'LEGE' 'XY' 1.45 9. tdess2;
  405. *rem : 'amplitude |X_{1}| (m)' est trop long (limite a 20 caracteres)!
  406. * 'TITY' 'amplitude |X_{1}| (m)' 'POSY' 'CENT'
  407.  
  408. * test de loption LIGNE_VARIABLE
  409. * on définit les style des (np-1) segments
  410. * (=0 lign, =2 tirr, ... =5 pointilles)
  411. nps3 = np / 3;
  412. ltirr2 = lect nps3*0 nps3*5 (np - 1 - (2*nps3))*1;
  413. ltirr3 = lect nps3*1 nps3*2 (np - 1 - (2*nps3))*0;
  414. tdess2 . 'LIGNE_VARIABLE' = TABL;
  415. tdess2 . 'LIGNE_VARIABLE' . 2 = ltirr2;
  416. tdess2 . 'LIGNE_VARIABLE' . 3 = ltirr2;
  417. tdess2 . 'LIGNE_VARIABLE' . 5 = ltirr3;
  418. DESS ev1tot
  419. 'GRIL' 'POIN' 'GRIS' 'TITR' tit2
  420. LOGY
  421. 'TITX' '\W (Hz)' 'POSX' 'CENT'
  422. 'TITY' '|X_{1}| (m)' 'POSY' 'CENT'
  423. 'LEGE' 'XY' 1.45 9. tdess2;
  424.  
  425. * test pour faire des waterfall (+ option REMP BLAN)
  426. * (bp,2019)
  427. * dess ev1tot;
  428. ev1log = WATERFALL ev1tot xi1p '\x' (mots 'LOGY');
  429. repe Bxi nxi;
  430. tdess2 . &Bxi = CHAI tdess2 . &Bxi ' REMP BLAN';
  431. fin Bxi;
  432. dess ev1log 'LOGY' 'LEGE' tdess2;
  433.  
  434.  
  435. *----------------------------------------------------------------------*
  436. * trace d'histogrammes *
  437. *----------------------------------------------------------------------*
  438.  
  439. * bruit blanc Gaussien
  440. NN = 10000 ;
  441. LTIRAG1 = BRUI 'BLAN' 'GAUS' 0. 2. NN ;
  442. LTIRAG2 = BRUI 'BLAN' 'GAUS' 0. 2. NN ;
  443. * calcul du nombre de classes (entieres)
  444. IMAX1 = ENTI 'SUPERIEUR' (MAXI LTIRAG1);
  445. IMIN1 = ENTI 'INFERIEUR' (MINI LTIRAG1);
  446. * boucle sur les classes
  447. NC = IMAX1 - IMIN1;
  448. LCOMPT1 = PROG NC*0. ;
  449. LCOMPT2 = PROG NC*0. ;
  450. IFIN1 = IMIN1;
  451. REPE BC NC;
  452. IDEB1 = IFIN1;
  453. IFIN1 = IFIN1 + 1;
  454. NC1 = MASQ LTIRAG1 'COMPRIS' IDEB1 IFIN1 'SOMME';
  455. REMP LCOMPT1 &BC NC1;
  456. NC2 = MASQ LTIRAG2 'COMPRIS' IDEB1 IFIN1 'SOMME';
  457. REMP LCOMPT2 &BC NC2;
  458. FIN BC;
  459.  
  460. list LCOMPT1;
  461.  
  462. * test de la procedure @HISTOGR
  463. TOPT1 = TABL ;
  464. TOPT1 . 'HPOS' = FLOT IMIN1 ;
  465. TOPT1 . 'DESS' = 'GRIL AXES' ;
  466. TOPT1 . 'COUL' = mot 'OCEA';
  467. @HISTOGR LCOMPT1 TOPT1 FAUX ;
  468.  
  469. * recup des evolutions pour trace plus evolues
  470. rainbow = mots 'MARI' 'MARI' 'MARI' 'BLEU' 'BLEU' 'AZUR' 'CYAN' 'TURQ'
  471. 'VERT' 'OR' 'ORAN' 'ROUG' 'BRIQ' 'BRIQ' 'BRUN' 'BRUN' 'BRUN' ;
  472. TOPT1 = TABL ; TOPT1 . 'COUL' = rainbow;
  473. evhist1 Thist = @HISTOGR LCOMPT1 TOPT1 VRAI ;
  474. TOPT2 = TABL ; TOPT2 . 'COUL' = rainbow;
  475. TOPT2 . 'NOMS' = TABL;
  476. repe b NC; TOPT2 . 'NOMS' . &b = chai &b ''; fin b;
  477. evhist2 Thist2 = @HISTOGR (-1.*LCOMPT2) TOPT2 VRAI ;
  478.  
  479. *DESS evhist1 Thist;
  480. *DESS evhist2 Thist2;
  481. * DESS (evhist1 et evhist2) Thist;
  482. * avec Legende
  483. repe b NC;
  484. Thist . &b = MOT 'REMP MARQ TRID';
  485. * Thist . (NC + &b) = MOT 'REMP MARQ TRIU';
  486. Thist . (NC + &b) = MOT 'MARQ TRIU';
  487. fin b;
  488. DESS (evhist1 et evhist2) Thist YBOR -2500 2500 YGRA 500;
  489.  
  490.  
  491. *------------------------------------------------------*
  492. * Test des couleurs *
  493. *------------------------------------------------------*
  494.  
  495. coul3 = mots 'INDI' 'VIOL' 'MARI' 'BLEU' 'AZUR' 'CYAN'
  496. 'TURQ' 'OCEA' 'BOUT' 'VERT' 'OLIV' 'LIME'
  497. 'JAUN' 'OR' 'BRON'
  498. 'ORAN' 'CORA' 'ROUG' 'BRIQ'
  499. 'BRUN' 'CARA' 'BEIG' 'KAKI' 'POUR' 'ROSE' 'PEAU' 'LAVA'
  500. 'BLAN' 'GRIS' 'NOIR' ;
  501. n3 = dime coul3;
  502. xx = prog 0. 1.;
  503. yy = prog 1. 1.;
  504. ev = vide EVOLUTIO;
  505. T = tabl;
  506. repe b n3;
  507. c = extr coul3 &b;
  508. ev = ev et (evol c 'MANU' xx (&b * yy));
  509. T . &b = chai 'LABEL' ' ' c ' REGU';
  510. fin b;
  511.  
  512. dess ev T XBOR 0. 1.2 ;
  513.  
  514.  
  515. FIN ;
  516.  
  517.  
  518.  

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