Je ne suis pas sûr de comprendre. Tu veux un fichier asy qui produit plusieurs images ????
Code : Tout sélectionner
import graph;
unitsize(1cm);
////////////////////////////////////////////////
// Une structure pour définir des fonctions
////////////////////////////////////////////////
struct FONCTION{
string n;
real expr(real);
real xmin;
real xmax;
real ymin;
real ymax;
void operator init(string n="",
real expr(real),
real xmin,
real xmax,
real ymin=-5,
real ymax=5)
{
this.n=n;
this.expr=expr;
this.xmin=xmin;
this.xmax=xmax;
this.ymin=ymin;
this.ymax=ymax;
}
}
FONCTION f1=FONCTION("$f_1(x)$",new real(real x) {return sin(x);}, 0, 3pi, -1.5, 1.5),
f2=FONCTION("$f_2(x)$",new real(real x) {return cos(x);}, -pi, 3pi, -1.5, 1.5),
f3=FONCTION("$f_3(x)$",new real(real x) {return log(1+(sin(x))^2);}, -2pi, 5pi, -.5, 1),
f4=FONCTION("$f_4(x)$",new real(real x) {return log(1+(cos(x))^2);}, -3pi, pi, -.5, 1),
f5=FONCTION("$f_5(x)$",new real(real x) {return sqrt(1+x^2);}, -2, 7, 0, 10),
f6=FONCTION("$f_6(x)$",new real(real x) {return sin(pi*x)+f5.expr(x);}, -1, 1, -1, 3);
FONCTION[] f={f1,f2,f3,f4,f5,f6};
size(120,120,false);
///////////////////////
// Figure 1
///////////////////////
draw(graph(f1.expr,f1.xmin,f1.xmax),red);
limits((f1.xmin,f1.ymin),(f1.xmax,f1.ymax),Crop);
xaxis(Label("$x$",EndPoint,NE),
Ticks(scale(.7)*Label(align=E),NoZero,Size=1mm, size=.5mm,pTick=black,ptick=gray),
Arrow);
yaxis(Label(f1.n,EndPoint,NE),
Ticks(scale(.7)*Label(align=W),NoZero,Size=1mm, size=.5mm,pTick=black,ptick=gray),
Arrow,autorotate=false);
shipout(prefix="figure_1");
erase();
///////////////////////
// Figure 2
///////////////////////
draw(graph(f2.expr,f2.xmin,f2.xmax),red);
limits((f2.xmin,f2.ymin),(f2.xmax,f2.ymax),Crop);
xaxis(Label("$x$",EndPoint,NE),
Ticks(scale(.7)*Label(align=E),NoZero,Size=1mm, size=.5mm,pTick=black,ptick=gray),
Arrow);
yaxis(Label(f2.n,EndPoint,NE),
Ticks(scale(.7)*Label(align=W),NoZero,Size=1mm, size=.5mm,pTick=black,ptick=gray),
Arrow,autorotate=false);
shipout(prefix="figure_2");
du message précédent.