Résolution intégrale - Méthode Trapèzes
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour tout le monde !
J'ai un programme à faire de résolution intégrale par la méthode des trapèzes.
J'ai fait un programme, je ne comprend pas pourquoi il ne fonctionne pas
J'ai définit a côté une fonction cosinus ou sinus pour vérifier
J'ai lancé le programme pour moyenne2(f,0,400,0.2). Pour cosinus ca me renvoie bien quelque chose proche de 0. Mais pour f(x)=cos(x)+2, ca ne me renvoie pas 2 ^^
Merci de l'aide apportée !
N'essaie pas, fais le ou ne le fais pas.
J'ai un programme à faire de résolution intégrale par la méthode des trapèzes.
J'ai fait un programme, je ne comprend pas pourquoi il ne fonctionne pas
def moyenne2(f,a,b,h):
aire=0
x=0
for i in range(a,b):
aire+=h*(f(x)+(f(x+h)-f(x))/2) ##méthode des trapèzes : (xk+1-xk)*f(xk) (aire du rectangle) + {(xk+1 - xk)*[f(xk+1)-f(xk)]}/2 (aire du triangle)
x+=h
return (1/b)*aire
J'ai définit a côté une fonction cosinus ou sinus pour vérifier
from math import cos,sin
def f(x):
return cos(x)
J'ai lancé le programme pour moyenne2(f,0,400,0.2). Pour cosinus ca me renvoie bien quelque chose proche de 0. Mais pour f(x)=cos(x)+2, ca ne me renvoie pas 2 ^^
Merci de l'aide apportée !
N'essaie pas, fais le ou ne le fais pas.
2 réponses
-
Salut
je n'y connais rien en math mais si tu utilises Python version 2.x alors il faut lire la chapitre sur les types
Python 2.x effectue une division euclidienne. -
Salut !
Tu penses que l'erreur vient d'une des divisions ? Dans ce cas ca afficherait une erreur plutôt qu'un résultat faux non ?