Un calcul approché d'intégrale dépendant d'un paramètre avec Maxima

Cf l'exercice 2 de la feuille 3.
On trace le graphe de la fonction [0,10] -> R qui a x associe l'intégrale sur l'intervalle [0,N*pi] de la fonction y -> sin(y)/(x+y) (ou du moins du calcul approché de cette intégrale par Maxima), d'abord pour N=100 (1ère image) puis pour N=1,2,...,10 sur un même dessin.
Le script est compliqué par le fait qu'on a voulu faire un "multiplot" avec une boucle "for" dans Maxima sous l'environnement MS Windows.

/*
wxMaxima 0.8.3 http://wxmaxima.sourceforge.net
Maxima 5.19.2 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (aka GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
*/

f(i,y):=quad_qag(sin(x)/(x+y),x,0,i*%pi,3)[1];

l:makelist([k/100,f(100,k/100)],k,1,1000)$

load(draw)$

draw2d(file_name="f2ex2",terminal=png,yrange=[0,1.8],point_type=0,points_joined=true,points(l));


for i:1 thru 10 do (display(i),l[i]:makelist([k/100,f(i,k/100)],k,1,1000));

c:["blue","green","red","salmon","yellow","salmon","red","green","blue","black"];

listp(c);

arrays;

d:[];
for i:1 thru 10 do
(d:append(d,[parse_string(concat("color=",c[i])),parse_string(concat("key=\"",i,\")),points('l[i])]));

d;

d1:append([file_name="f2x2-1",terminal=png,pic_width=800,pic_height=600,point_type=0,points_joined=true],d)$

apply(draw2d,ev(d1,nouns))$