如何在python中进行数值积分?
我不能安装任何新的东西,我需要使用默认的python库,并且我必须集成一个函数。我可以得到任意f(x)的值,我需要对函数f(x)进行0到6的积分。在离散形式中,积分只是求和,即 其中n是样本数。如果我们将b-a/n设为dx(示例的“宽度”),那么我们可以用python编写如下内容:如何在python中进行数值积分?,python,numerical-integration,Python,Numerical Integration,我不能安装任何新的东西,我需要使用默认的python库,并且我必须集成一个函数。我可以得到任意f(x)的值,我需要对函数f(x)进行0到6的积分。在离散形式中,积分只是求和,即 其中n是样本数。如果我们将b-a/n设为dx(示例的“宽度”),那么我们可以用python编写如下内容: def integrate(f, a, b, dx=0.1): i = a s = 0 while i <= b: s += f(i)*dx i +=
def integrate(f, a, b, dx=0.1):
i = a
s = 0
while i <= b:
s += f(i)*dx
i += dx
return s
使用python中的输入函数,您可以随机输入任何想要的数字并获得该函数,或者如果需要硬编码,您可以使用for循环并将数字附加到列表中
def func2():
print "F(x) = 2x + 3"
x = []
for numbers in range(1,7):
x.append(numbers)
upd = 0
for i in x:
Fx = 2 * x[upd] + 3
upd +=1
print Fx
print func2()
编辑:如果您希望数字从0开始计数,请将范围内的第一个值设置为0,而不是1您可以使用(在我的软件包中):
导入numpy
导入四边形
def f(x):
返回numpy.sin(x)-x
val,err=quadpy.quad(f,0.0,6.0)
打印(val)
为避免问题在未得到回答的情况下被关闭,请参阅本节评估函数,它不进行任何集成。您能否更详细地解释一下您想要的内容?您评估了[1,6]范围内的函数;海报需要[0,6]范围内的积分。我看不出你在任何地方处理过给定函数的定积分。请参阅前面的答案,以获得良好的演示。
def func():
print "F(x) = 2x + 3"
x = int(raw_input('Enter an integer value for x: '))
Fx = 2 * x + 3
return Fx
print func()
def func2():
print "F(x) = 2x + 3"
x = []
for numbers in range(1,7):
x.append(numbers)
upd = 0
for i in x:
Fx = 2 * x[upd] + 3
upd +=1
print Fx
print func2()
-17.96017028290743