-2
Donc je travaille sur une calculatrice intégrale en ce moment, et cela fonctionne assez bien, bien que dès que définissant y comme x ** 2 + x * 2 + 2 ça cesse de fonctionner. Qu'est-ce qui incite mon programme à fonctionner avec y = x ** 2 + 2 mais pas avec y = x ** 2 + x * 2 + 2?Calculatrice intégrale ne fonctionne pas lorsque donné formule donnée plus de 1 x dans la formule
import math as math
x0 = 0
x1 = 0
def func(y, x):
return eval(y)
def func2(z, x):
return eval(z)
def func3(c, d):
a = 0.0
for i in range(1, n+1):
x0 = a + (i-1) * dx
Ai = dx * (c + d)/ 2.
a = a + Ai
return a
y = str(raw_input("Function 1: "))
z = str(raw_input("Function 2: "))
a = float(input("Left boundary: "))
b = float(input("Right boundary: "))
dx = float(input("Trapezoid width: "))
n = int((b - a)/dx)
Area2 = func3(func(y, x0), func(y, x1))
Area3 = func3(func2(z, x0), func2(z, x1))
Area4 = Area2 - Area3
if Area4 < 0:
Area4 = Area3 - Area2
print "Area = ", Area4
Ce n'est pas clair quant à ce dont vous avez besoin, s'il vous plaît réviser. –
Dans quel sens n'est-il pas clair? Je demande à quelqu'un de comprendre pourquoi il me donnera le résultat correct pour y = x \ ** 2 + 2 z = x \ ** 2 mais pas pour y = x \ ** 2 + 2x + 2 z = x \ ** 2 – Meh
@Meh Avez-vous essayé de déboguer votre code? – nemo