2017-01-25 31 views
-1

所以我试图运行一个想法的简单测试。基本上我有一些我定义的函数取决于一个变量和一个参数常量。我有一个参数值的数组。对于第一个参数值,我有一组开始和结束点的积分。第二,我有一组不同的开始和结束点集成。我的代码工作得益于此链接Integrating functions that return an array in Python在python中集成一个函数与参数数组,开始点和终点

而且它基本上就是这种形式。

我的问题是,如果我有一个函数的定义与在它循环,该功能看起来类似:

def F(a): 
    F = [] 
    for i in len(a): 
     F[i] = scipy.integrate.quad(g,0,1,args = (a[i],)) 
    return F 

(其中g一些功能我在以前定义代码),那么当我实现这个功能(或插入一个数组a)数组中的所有元素是否会连续运行?或者每个元素的积分是否会同时运行?或者换句话说,在我开始附加的链接中,当调用for循环定义的函数被调用时,请执行函数中的所有计算连续运行(如循环遍历索引的for循环)或同时运行因为所有元素都已经定义好了?

+0

谢谢你的欢迎。我浏览了旅游信息。 有没有可能你有我的问题的答案 – sasha

+0

再次您好。我建议参观,因为很明显你甚至没有完成这一步骤来熟悉这个地方是如何工作的。下一步将阅读如何创建[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例。然后编辑你的帖子来提供。举个例子,当我猜测*你的意思是'scipy.integrate.quad'时,你的代码会说'simpy.integrate.quad'。任何时候我们必须猜测*,我们更有可能继续前进,并帮助那些花更多时间让他们更容易获得帮助的人。 –

+0

我修复了这个错字。希望这更清楚。虽然这个问题更多的是关于定义中的循环如何在稍后调用这些函数时运行。 – sasha

回答

0

环路可以更好地被表达为:

def F(a): 
    results = [] 
    for element in a: 
     results.append(scipy.integrate.quad(g, 0, 1, args=(element,))) 
    return results 

或作为一个班轮使用列表理解:

def F(a): 
    return [scipy.integrate.quad(g, 0, 1, args=(element,)) for element in a] 

而在这两种情况下,积分会做一个在时间(连续)。

+0

有没有办法使用numpy同时应用其他操作(如加法)同时应用集成矩阵? 这样F(a)是一个数组,其中每个元素等于F(a的元素)? – sasha

+0

也许吧,但如果你提出一个新问题,这将是最好的。尽你所能创建一个[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例。祝你好运。 –

相关问题