当给定的公式在公式中给出超过 1 x 时,积分计算器将无法工作
Integral Calculator wont work when given formula given more than 1 x in the formula
所以我现在正在研究一个积分计算器,它运行得相当好,尽管一旦将 y 定义为 x**2+x*2+2 它就会停止工作。是什么提示我的程序使用 y = x**2+2 而不是使用 y = x**2+x*2+2?
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
import math as math
x0 = 0
x1 = 0
def f(function, x):
function = eval(function)
return function
def func3(b, a, func):
area = 0.0
dx = (b - a) / n
for i in range(1, n+1):
x0 = a + (i-1) * dx
x1 = a + i*dx
Ai = dx * (f(func, x0) + f(func, x1))/ 2.
area = area + Ai
return area
y = str(input("Function 1: "))
z = str(input("Function 2: "))
a = float(input("Left boundary: "))
b = float(input("Right boundary: "))
n = int(input("Trapezoid width: "))
Area2 = func3(b, a, y)
Area3 = func3(b, a, z)
Area4 = Area2 - Area3
if Area4 < 0:
Area4 = Area3 - Area2
print "Area = ", Area4
这或多或少是您想做的吗?
所以我现在正在研究一个积分计算器,它运行得相当好,尽管一旦将 y 定义为 x**2+x*2+2 它就会停止工作。是什么提示我的程序使用 y = x**2+2 而不是使用 y = x**2+x*2+2?
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
import math as math
x0 = 0
x1 = 0
def f(function, x):
function = eval(function)
return function
def func3(b, a, func):
area = 0.0
dx = (b - a) / n
for i in range(1, n+1):
x0 = a + (i-1) * dx
x1 = a + i*dx
Ai = dx * (f(func, x0) + f(func, x1))/ 2.
area = area + Ai
return area
y = str(input("Function 1: "))
z = str(input("Function 2: "))
a = float(input("Left boundary: "))
b = float(input("Right boundary: "))
n = int(input("Trapezoid width: "))
Area2 = func3(b, a, y)
Area3 = func3(b, a, z)
Area4 = Area2 - Area3
if Area4 < 0:
Area4 = Area3 - Area2
print "Area = ", Area4
这或多或少是您想做的吗?