Download dessin.dgibi

Back to the list

* 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' ;
 

 

© Cast3M 2003 - All rights reserved.
Disclaimer