MetaPost Retour à la page précédente Fichier au format texte pour télécharger Imprimer le document sans le menu !
input geometrie2d;
input courbes;

vardef fx(expr t) = t enddef;
vardef fy(expr t) = (t-5)*sin(t)-cos(t)+2 enddef;
vardef f(expr t) = (fx(t),fy(t)) enddef;
vardef py(expr t) = (0,fy(t)) -- f(t) enddef;
vardef px(expr t) = f(t) -- (fx(t),0) enddef;
color aubergine;
aubergine = (37/256,2/256,29/256);


beginfig(1);

    a = 1;
    b = 7;
    n = 12;
    h = (b-a)/n;
    
    path courbe;
    courbe = Courbe(fx,fy,a,b,150);

    Repere(10,10,2,3,1,1);
    Axes;
    Debut;
    
	remplis (a,0)--courbe--(b,0)--cycle
	    withcolor .7red;
	    

	for i=1 upto n:
	    path cc;
	    aa := a + (i-1) * h;
	    bb := aa + h;
	    ff := fy(aa + h/2);
	    cc := (aa,0)--(aa,ff)--(bb,ff)--(bb,0)--cycle;
	    remplis cc 
		withcolor 0.8white;
	    trace cc;
	endfor;


	trace courbe
	    withpen pencircle scaled 2
	    withcolor aubergine;


	Etiquette.bot("$x_{i-1}$",1,(a+n/2*h,0));
	Etiquette.bot("$x_{0}$",1,(a,0));
	Etiquette.bot("$x_{n}$",1,(b,0));
	Etiquette.ulft("$a$",1.25,(a,0));
	Etiquette.urt("$b$",1.25,(b,0));
	Etiquette.top("$y=f(x)$",1.25,f(b));
	Etiquette.bot("$x_{i}$",1,(a+n/2*h+h,0));

	trace py(a+(n+1)/2*h)--px(a+(n+1)/2*h)
	    dashed evenly
	    withcolor (0.9,0.7,0.3);

	Etiquette.lft("$f(\xi_i)$",1,(0,fy(a+(n+1)/2*h)));
	Etiquette.bot("$\xi_i$",1,(a+(n+1)/2*h,-0.4));
	
	drawarrow ((a+(n+1)/2*h,-0.4)--(a+(n+1)/2*h,-0.1))
	    gENPLACE;
	    
	Etiquette("\textit{Sommes de Riemann}",2,(4,5));
	Etiquette("$S = \sum_{i=1}^n f(\xi_i)(x_i - x_{i-1})$",1.5,(5,-2));

    Fin;
endfig;
end