Quelqu'un peut m'expliquer pourquoi scipy.s'intégrer.quad donne des résultats différents pour aussi long des plages, tout en intégrant sin(X)?

Je suis en train d'intégrer numériquement un arbitraire (connu quand j'code) fonction dans mon programme
à l'aide de méthodes d'intégration numérique. Je suis à l'aide de Python 2.5.2 avec SciPy numérique d'un package d'intégration. Afin d'obtenir une sensation pour elle, j'ai décidé d'essayer d'intégrer sin(x) et a observé ce comportement-

>>> from math import pi
>>> from scipy.integrate import quad
>>> from math import sin
>>> def integrand(x):
...     return sin(x)
... 
>>> quad(integrand, -pi, pi)
(0.0, 4.3998892617846002e-14)
>>> quad(integrand, 0, 2*pi)
(2.2579473462709165e-16, 4.3998892617846002e-14)

Je trouve ce comportement bizarre, parce qu' -
1. Dans l'ordinaire de l'intégration, de l'intégration sur le cycle complet donne zéro.
2. Dans l'intégration numérique, ce (1) n'est pas nécessairement le cas, car vous êtes peut-être
le rapprochement de la surface totale sous la courbe.

En tout cas, en supposant que 1 est Vrai ou dans l'hypothèse 2 est Vrai, je trouve le comportement incohérent. Soit les deux intégrations (-pi à pi et de 0 à 2*pi) doit retourner 0.0 (première valeur du tuple est le résultat et la deuxième est l'erreur) ou retour 2.257...

Quelqu'un peut-il expliquer pourquoi ce qui se passe? Est-ce vraiment une incohérence? Quelqu'un peut-il me dire aussi si je suis absent quelque chose de vraiment de base sur les méthodes numériques?

En tout cas, dans mon application, j'ai l'intention d'utiliser la méthode ci-dessus pour trouver la longueur de l'arc d'une fonction. Si quelqu'un a de l'expérience dans ce domaine, merci de me conseiller sur la meilleure politique pour le faire en Python.

Modifier
Note
J'ai déjà la première différentiel de valeurs à tous les points de la gamme stockées dans un tableau.
Erreur actuelle est tolérable.
La note de fin de

J'ai lu Wikipaedia sur cette. Comme Dimitry, a souligné, je vais intégrer sqrt(1+diff(f(x), x)^2) pour obtenir la Longueur de l'Arc. Ce que je voulais vous demander est - il une meilleure approximation sur les pratiques Exemplaires(?) /moyen plus rapide pour ce faire. Si plus de contexte est nécessaire, je vais le poster séparément/post contexte ici, comme vous le souhaitez.

Voici un article du blog algorithmist.wordpress.com/2009/01/05/... de ce que vous pourriez trouver utiles. Un lien depuis le blog algorithmist.net/crlength.html
Merci. Je vais regarder les liens.

OriginalL'auteur batbrat | 2009-02-24