* dessin.dgibi ************************************************************************ ************************************************************************ *_____________________________________________________ * * PROCEDURE WATERFALL (experimentale) *_____________________________________________________ * * tracé Waterfall Cast3M (experimental) ____ * * /\ . * _______/ \_/\____.-.._/ \__.---------._____ * * /\ * _____/\_/\____.-.._/ \__.--.------._____ * DEBP WATERFALL ev1*'EVOLUTION' y1*'LISTREEL' * initialisations ZLOGY = FAUX; * recup des entrees + verif * veut-on changer l'echelle de y1 * (sans toucher a celle des evolutions) ? finsi; * calcul du facteur alpha * recherche de l'amplitude des evolutions * maxf1 = MAXI 'ABS' lf1; * recherche des espaces inter-y si ZLOGY; y1log = LOG y1; sinon; finsi; * calcul de alpha alpha1 = zcoef1 * dy1 / maxf1; * creation d'une nouvelle evolution prete a tracer * recup des parametres de l'evolution de depart * ylabel1 = EXTR ev1 'LEGY' 1; * on ordonne selon y1 decroissant * boucle sur les evol elementaires --> nouvelle evol REPE BEV1 n1; * choix de l'evol a traiter en premier * dernier parametre : la couleur * recup des listreels * application de alpha aux evolutions si ZLOGY; * de maniere a avoir LOG(f2) = LOG(y) + a*f1 fprog2 = y2j * (exp (alpha1 * fprog1)); sinon; * de maniere a avoir f2 = y + a*f1 fprog2 = y2j + (alpha1 * fprog1); finsi; * stockage FIN BEV1; FINP ev2; *_____________________________________________________ *----------------------------------------------------------------------* * cas-test de la directive DESSIN. * *----------------------------------------------------------------------* OPTI 'POTR' 'HELVETICA_16' ; * remarque : il faudrait aussi tester avec * OPTI TRAC 'X'; * OPTI TRAC 'OPEN' ; * CB : TESTE DES CAS PARTICULIERS AYANT CONDUIT A DES ERREURS PAR LE PASSE * 1 Y1 =EXP (-1. * X1); * 2 Y11 =EXP (-1. * X11); * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * * ON TESTE D'ABORD LES ECHELLE ET GRADUATIONS ************************ * (SP) 'XGRA' +0.5 'YGRA' +0.5E-2 'XGRA' +0.5 'YGRA' +0.5E-2 'AXES' 'GRIL' 'POIN' * ON TESTE ENSUITE D'AUTRES OPTIONS AVEC UN SYSTEME 2DDL ************** * LEGENDE, TITRES, CENTREMENT, GRILLE ... * (BP) * w donné en rad/s T1=2.; w1=(2.*pi)/T1; T2=5.; w2=(2.*pi)/T2; * castem utilise les degrés yp = 100. * (sin ((180/pi)*w1*xp)); yp2 = 110. * (sin ((180/pi)*w2*xp)); ent1 = enti w1; decim1 = (enti (10.*w1)) - (10*ent1); ent2 = enti w2; decim2 = (enti (10.*w2)) - (10*ent2); 'TITX' 't(s)' 'POSX' 'CENT' 'TITY' 'Dépl u_{A}^{1} (m)' 'POSY' 'CENT' 'LEGE' 'SO' tdess1; 'TITX' 't(s)' 'POSX' 'CENT' 'YBOR' -110. 110. 'YGRA' 22 'TITY' 'Dépl u_{A} (m^{1})' 'POSY' 'CENT' 'LEGE' tdess1; 'TITX' 't(s)' 'XBOR' 0. T2 'YBOR' -110. 110. 'YGRA' 22. 'TITY' 'Déplacement x (m)' 'LEGE' tdess1; *** systeme 2ddl : fonction de tranfert : amplitude et phase *** * liscoul = mots VIOL BLEU TURQ BLEU ORAN AZUR ROUG ; xi1 = 0.02 ; xi2 = 0.05; xi2p = xi1p * (xi2 / xi1); ixi = 0; repe Bxi nxi; ixi = ixi + 1 ; m1=2.; k1 = m1*(w1**2); c1 = 2.*xi1*w1*k1; m2=1.; k2 = m2*(w2**2); c2 = 2.*xi2*w2*k2; mess w1 m1 k1 c1; mess w2 m2 k2 c2; wp = w1 * wpadim; A_R = ((k1 + k2)*unp) - ((wp**2)*m1); A_I = wp*(c1 + c2); B_R = -1.*k2*unp; B_I = -1.*c2*wp; D_R = (k2*unp) - ((wp**2)*m2); D_I = wp*c2; Den_R = (A_R*D_R) - (A_I*D_I) - (B_R**2) + (B_I**2) ; Den_I = (A_R*D_I) + (A_I*D_R) - (2.*B_R*B_I); Den2 = (Den_R**2) + (Den_I**2); * pour simplifier on excite seulement en F1 et en phase F1_R = 1.; Num11_R = ((Den_R*D_R) - (Den_I*D_I)) * F1_R; Num11_I = ((Den_R*D_I) - (Den_I*D_R)) * F1_R; Num12_R = -1.*((Den_R*B_R) - (Den_I*B_I)) * F1_R; Num12_I = -1.*((Den_R*B_I) - (Den_I*B_R)) * F1_R; X1_R = Num11_R / Den2; X1_I = Num11_I / Den2; X2_R = Num12_R / Den2; X2_I = Num12_I / Den2; X1_AMP = ((X1_R**2)+(X1_I**2))**0.5; X1_PHA = ATG X1_I X1_R; X2_AMP = ((X2_R**2)+(X2_I**2))**0.5; X2_PHA = ATG X2_I X2_R; si (xi1 ega 0.02); * 'Y LOG + titres X et Y centres + LEGE XY' tit2ddl = chai 'Système à 2ddl : ' '\w_{1}=0.5 \w_{2}=0.2 \x_{1}=2% \x_{2}=5%'; 'LOGY' 'YBOR' 1.E-3 1.E1 'GRIL' 'POIN' 'GRIS' 'TITR' tit2ddl 'TITX' '\W (Hz)' 'POSX' 'CENT' 'TITY' 'amplitude |x| (m)' 'POSY' 'CENT' 'LEGE' 'XY' 1.5 0.8 tdess1; 'YBOR' -180. 180. 'YGRA' 90. 'GRIL' 'POIN' 'GRIS' 'TITR' tit2ddl 'TITX' '\W (Hz)' 'POSX' 'CENT' 'TITY' 'phase \j(x) (m)' 'POSY' 'CENT' 'LEGE' 'XY' 1.5 160 tdess1; fins; fin Bxi; * ON CONTINUE AVEC D'AUTRES OPTIONS * (BP) DESS ev1tot 'LOGY' 'TITX' '\W (Hz)' 'POSX' 'CENT' 'TITY' '|X_{1}| (m)' 'POSY' 'CENT' 'LEGE' 'XY' 1.45 9. tdess2; *rem : 'amplitude |X_{1}| (m)' est trop long (limite a 20 caracteres)! * 'TITY' 'amplitude |X_{1}| (m)' 'POSY' 'CENT' * test de loption LIGNE_VARIABLE * on définit les style des (np-1) segments * (=0 lign, =2 tirr, ... =5 pointilles) nps3 = np / 3; tdess2 . 'LIGNE_VARIABLE' . 2 = ltirr2; tdess2 . 'LIGNE_VARIABLE' . 3 = ltirr2; tdess2 . 'LIGNE_VARIABLE' . 5 = ltirr3; DESS ev1tot LOGY 'TITX' '\W (Hz)' 'POSX' 'CENT' 'TITY' '|X_{1}| (m)' 'POSY' 'CENT' 'LEGE' 'XY' 1.45 9. tdess2; * test pour faire des waterfall (+ option REMP BLAN) * (bp,2019) * dess ev1tot; repe Bxi nxi; fin Bxi; dess ev1log 'LOGY' 'LEGE' tdess2; *----------------------------------------------------------------------* * trace d'histogrammes * *----------------------------------------------------------------------* * bruit blanc Gaussien NN = 10000 ; * calcul du nombre de classes (entieres) * boucle sur les classes NC = IMAX1 - IMIN1; IFIN1 = IMIN1; REPE BC NC; IDEB1 = IFIN1; IFIN1 = IFIN1 + 1; FIN BC; list LCOMPT1; * test de la procedure @HISTOGR TOPT1 . 'HPOS' = FLOT IMIN1 ; @HISTOGR LCOMPT1 TOPT1 FAUX ; * recup des evolutions pour trace plus evolues rainbow = mots 'MARI' 'MARI' 'MARI' 'BLEU' 'BLEU' 'AZUR' 'CYAN' 'TURQ' 'VERT' 'OR' 'ORAN' 'ROUG' 'BRIQ' 'BRIQ' 'BRUN' 'BRUN' 'BRUN' ; *DESS evhist1 Thist; *DESS evhist2 Thist2; * DESS (evhist1 et evhist2) Thist; * avec Legende repe b NC; * Thist . (NC + &b) = MOT 'REMP MARQ TRIU'; fin b; *------------------------------------------------------* * Test des couleurs * *------------------------------------------------------* 'TURQ' 'OCEA' 'BOUT' 'VERT' 'OLIV' 'LIME' 'JAUN' 'OR' 'BRON' 'ORAN' 'CORA' 'ROUG' 'BRIQ' 'BRUN' 'CARA' 'BEIG' 'KAKI' 'POUR' 'ROSE' 'PEAU' 'LAVA' 'BLAN' 'GRIS' 'NOIR' ; repe b n3; fin b; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales