与Python/Numpy/Scipy的三重集成

与Python/Numpy/Scipy的三重集成,python,numpy,scipy,scientific-computing,Python,Numpy,Scipy,Scientific Computing,我是python新手,通过跟随python“科学讲稿”学习 发布2013.1“教程。 请在下面的srcreenshot(第70页)中帮助我解决这个三重积分问题。我已经介绍了该教程之前的内容。 如果可能,请提供带有解释的分步命令,因为作为一名航空航天工程师,编程概念对我来说是新概念 多谢各位 练习:粗积分近似 编写一个函数f(a,b,c),返回^b-c。形成一个24x12x6数组,其中包含参数中的值 范围为[0,1]x[0,1]x[0,1]。您误解了这个问题。他们不是要你计算积分。他们要求你计算

我是python新手,通过跟随python“科学讲稿”学习 发布2013.1“教程。 请在下面的srcreenshot(第70页)中帮助我解决这个三重积分问题。我已经介绍了该教程之前的内容。 如果可能,请提供带有解释的分步命令,因为作为一名航空航天工程师,编程概念对我来说是新概念

多谢各位

练习:粗积分近似 编写一个函数f(a,b,c),返回^b-c。形成一个24x12x6数组,其中包含参数中的值
范围为[0,1]x[0,1]x[0,1]。

您误解了这个问题。他们不是要你计算积分。他们要求你计算一组点上函数的平均值。这个练习的动机是,这个平均值将是该积分值的近似值


你所需要做的就是用24x12x6的值组成他们所请求的数组,将所有的值相加,然后除以数组中的元素数。

这似乎令人望而生畏,但问题会一步一步地告诉你该怎么做

编写一个返回
a^b-c
的函数
f(a,b,c)

def f(a, b, c):
    return a ** b - c
形成一个24x12x6数组,包含其参数范围
[0,1]x[0,1]x[0,1]
。为您提供
ogrid
提示。因此,我猜在阅读这些文档时,它们看起来像:

x = np.ogrid[0:1:24j, 0:1:12j, 0:1:6j]
然后你就可以做了

f(x[0], x[1], x[2])
然后采取中庸的态度

np.mean(f(x[0], x[1], x[2]))

这给了我
0.18884234602967925

非常感谢。我误解了这个问题,并试图实现scipy integrate函数,因为我不理解ogrid函数的部分。使用这种方法并使用更高的去网格化(numpy.ogrid[start:end:j]中的j值)来解决所有此类类似的积分问题可以吗?不一定。在这种情况下它会起作用,因为你在计算单位体积的积分:积分域[0,1]x[0,1]x[0,1]的体积是1,这就是为什么平均值是积分值的近似值。如果你的体积是X,你可以用X乘以平均值来近似它。非常感谢,我被ogrid函数的用法弄糊涂了,误解了这个函数。在没有附加轴参考语句的情况下,使其按如下方式工作:def(a,b,c):返回a**b-c;a、 b,c=np.ogrid[0:1:24j,0:1:12j,0:1:6j];平均值(f(a,b,c))