将函数与python

时间:2017-01-25 00:28:38

标签: python arrays integration

所以我试着对一个想法进行简单的测试。基本上我有一些我定义的函数取决于变量和参数常量。我有一系列参数值。对于第一个参数值,我有一组集成的起点和终点。对于第二个,我有一组不同的开始和结束点。由于此链接Integrating functions that return an array in Python

,我已使代码正常运行

它基本上就是那种形式。

我的问题是,如果我有一个带有for循环的函数的定义,那个函数看起来像:

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循环)或同时执行所有元素都已定义?

1 个答案:

答案 0 :(得分: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]

在这两种情况下,集成将在一次(连续)完成。