Page 1 sur 1
int et precision
Publié : mar. juin 15, 2010 9:35 am
par frederic han
salut,
j'ai l'impression qu'a partir de 16 chiffres il y a un probleme avec l'integration qui a l'ai de tourner sans fin:
evalf(int(1/sqrt(x*(x+4)*(x+1)),x,0,+infinity),15) est OK
evalf(int(1/sqrt(x*(x+4)*(x+1)),x,0,+infinity),16) a l'air de boucler sans message d'erreur.
Fred
Re: int et precision
Publié : mar. juin 15, 2010 11:51 am
par parisse
en effet, ca vient de la borne infinie, xcas calcule alors
1/sqrt(tan(x)^3+5*tan(x)^2+4*tan(x))*(1+tan(x)^2)
pour x=0..pi/2, avec une divergence en pi/2, donc appel de l'acceleration de Romberg en utilisant le point milieu (et non les trapezes) ... qui n'est implemente qu'en double precision. Je vais commencer par convertir correctement les bornes d'integration en double et ajouter un warning.
Re: int et precision
Publié : mar. juin 15, 2010 12:08 pm
par parisse
voila, c'est corrige, je viens de voir qu'il y avait deja un warning, maintenant ca ne bouclera plus mais ce ne sera pas pour autant plus precis (en tout cas pour le moment).
Re: int et precision
Publié : mar. juin 15, 2010 11:40 pm
par frederic han
OK merci.
Y a t'il des options pour imposer une methode de calcul du genre trapeze, romberg...
a+
Re: int et precision
Publié : mer. juin 16, 2010 7:03 am
par parisse
oui, partiellement, avec la commande plotarea d'une part et romberg d'autre part (sachant que evalf(int()) appelle romberg).