autocrop
-5 17 setxrange
-1 54 setyrange
20 setxunit
/chaine 15 string def
%% syntaxe : x0 x1 x2 y dy array printtable
%% affiche successivement :
%% l'indice i en (x0,y0)
%% la valeur a_2i du tableau 'array' en (x1,y0)
%% la valeur a_2i+1 du tableau 'array' en (x2,y0)
%% en incrémentant l'affichage vertical de 'dy' à chaque tour
/printtable {
7 dict begin
/table exch def
/dy exch def
/y exch def
/x2 exch def
/x1 exch def
/x0 exch def
/i 0 def
0 1 table length 1 sub 2 idiv {
/i exch store
i chaine cvs x0 y dy i mul add bctext
table i 2 mul get chaine cvs x1 y dy i mul add bctext
table i 2 mul 1 add get chaine cvs x2 y dy i mul add bctext
} for
end
} def
setTimes
%% syntaxe : x0 x1 x2 y dy array printtable
bleu
-10 -10 4 30 -.5 [0 5 {exch pop} 0 1 .1 Euler] printtable
(Euler) 4 31 bctext
rouge
-10 -10 6.5 30 -.5 [0 5 {exch pop} 0 1 .1 Eulermod] printtable
(Euler modifié) 6.5 31 bctext
noir
%% la table des x_i et e^{x_i}
-10 2 9 30 -.5 [0 .1 5 {dup Exp} for] printtable
#tex# $e^x$
9 31 bctexlabel
#tex# $x_i$
2 31 bctexlabel
rose
-10 -10 11.5 30 -.5 [0 5 {exch pop} 0 1 .1 Rungekutta] printtable
(Runge-Kutta) 11.5 31 bctext
orange
-10 -10 14 30 -.5 [0 5 {exch pop} 0 1 .1 Milne] printtable
(Milne) 14 31 bctext
/linearc .2 def
/dx_boxit 3 def
/dy_boxit 3 def
boxit
noir
#tex# \' Equation $y' = y$ avec $y (0) = 1$
8 33 [2 dup] cctexlabel
|