* dessin.dgibi *----------------------------------------------------------------------* * cas-test de la directive DESSIN. * *----------------------------------------------------------------------* OPTI 'TRAC' 'PSC' 'EPTR' 5 ; OPTI 'POTR' 'HELVETICA_16'; * * ON TESTE D'ABORD LES ECHELLE ET GRADUATIONS ************************ * (SP) EV1 = EVOL 'VERT' 'MANU' (PROG -1. 1. 2.) (PROG 1.E-3 5.E-4 7E-2) ; DESS EV1 'TITR' ' Sans option' ; DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2 'TITR' ' Avec des bornes sur X & Y ' ; DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2 'XGRA' +0.5 'YGRA' +0.5E-2 'TITR' ' Avec des bornes sur X-Y & les intervalles de graduations donnes ' ; DESS EV1 'XBOR' -1.5 2.5 'YBOR' -0.5E-2 7.5E-2 'XGRA' +0.5 'YGRA' +0.5E-2 'AXES' 'GRIL' 'POIN' 'TITR' ' La grille & les axes en + ' ; * * 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; xp = prog 0. PAS 0.1 20.; * castem utilise les degrés yp = 100. * (sin ((180/pi)*w1*xp)); yp2 = 110. * (sin ((180/pi)*w2*xp)); ev1 = evol bleu manu xp yp; ev2 = evol roug manu xp yp2; tdess1 = tabl; tdess1 . 1 = mot 'MARQ PLUS REGU'; tdess1 . 'TITRE' = tabl; ent1 = enti w1; decim1 = (enti (10.*w1)) - (10*ent1); ent2 = enti w2; decim2 = (enti (10.*w2)) - (10*ent2); tdess1 . 'TITRE' . 1 = chai '\W=' ent1 '.' decim1 'rad.s^{-1}'; tdess1 . 2 = mot 'MARQ ROND REGU'; tdess1 . 'TITRE' . 2 = chai '\W=' ent2 '.' decim2 'rad.s^{-1}'; dess (ev1 et ev2) 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)' 'TITX' 't(s)' 'POSX' 'CENT' 'TITY' 'Dépl u_{A}^{1} (m)' 'POSY' 'CENT' 'LEGE' 'SO' tdess1; dess (ev1 et ev2) 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)' 'TITX' 't(s)' 'POSX' 'CENT' 'YBOR' -110. 110. 'YGRA' 22 'TITY' 'Dépl u_{A} (m^{1})' 'POSY' 'CENT' 'LEGE' tdess1; dess (ev1 et ev2) 'TITR' 'Déplacement x_{\W}(t) = sin(\Wt)' '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 *** ev1tot = VIDE 'EVOLUTION'; ev2tot = VIDE 'EVOLUTION'; * liscoul = mots VIOL BLEU TURQ VERT ORAN AZUR ROUG ; liscoul = mots VIOL BLEU TURQ OLIV ORAN AZUR ROUG ; tdess2 = tabl; tdess2 . 1 = mot 'MARQ PLUS REGU'; tdess2 . 2 = mot 'MARQ ROND REGU'; tdess2 . 3 = mot 'MARQ CROI REGU'; tdess2 . 4 = mot 'MARQ CARR REGU'; tdess2 . 5 = mot 'MARQ TRIU REGU'; tdess2 . 6 = mot 'MARQ ETOI REGU'; tdess2 . 7 = mot 'MARQ TRID REGU'; tdess2 . 'TITRE' = tabl; xi1 = 0.02 ; xi2 = 0.05; xi1p = prog 0.001 0.002 0.01 0.02 0.05 0.1 0.15 ; xi2p = xi1p * (xi2 / xi1); nxi = dime xi1p; ixi = 0; repe Bxi nxi; ixi = ixi + 1 ; xi1 = extr xi1p ixi; xi2 = extr xi2p ixi; mess ixi ' xi_1=' xi1 ' xi_2=' xi2 ; moxi1 = chai (enti (1000 * (xi1 - (enti xi1)))); si (ega (dime moxi1) 1); moxi1 = chai '00' moxi1; fins; si (ega (dime moxi1) 2); moxi1 = chai '0' moxi1; fins; moxi1 = chai (enti xi1) '.' moxi1; tdess2 . 'TITRE' . ixi = chai '\x_{1}=' (moxi1); 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; wpadim = prog 0. PAS 0.002 2.; wp = w1 * wpadim; np = dime wp; unp = prog np*1.; 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; ev1_amp = evol BLEU manu wpadim X1_AMP; ev2_amp = evol ROUG manu wpadim X2_AMP; ev1_pha = evol BLEU manu wpadim X1_PHA; ev2_pha = evol ROUG manu wpadim X2_PHA; si (xi1 ega 0.02); tdess1 . 'TITRE' . 1 = mot 'X_{1}'; tdess1 . 'TITRE' . 2 = mot 'X_{2}'; * '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%'; dess (ev1_amp et ev2_amp) 'LOGY' 'YBOR' 1.E-3 1.E0 'GRIL' 'POIN' 'GRIS' 'TITR' tit2ddl 'TITX' '\W (Hz)' 'POSX' 'CENT' 'TITY' 'amplitude |x| (m)' 'POSY' 'CENT' 'LEGE' 'XY' 1.5 0.8 tdess1; dess (ev1_pha et ev2_pha) '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; ev1tot = ev1tot et (ev1_amp coul (extr liscoul ixi)); ev2tot = ev2tot et (ev2_amp coul (extr liscoul ixi)); fin Bxi; * * ON CONTINUE AVEC D'AUTRES OPTIONS * (BP) tit2 = chai 'Evolution avec l`amortissement \x'; dess ev1tot 'GRIL' 'POIN' 'GRIS' 'TITR' tit2 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' 'FIN' ;