使用数组作为scipy集成的函数参数

时间:2015-06-23 13:44:38

标签: python python-3.x scipy

对于我目前正在处理的程序,我正在从文件中获取拟合线的系数。例如,文件的一行可能在a中具有系数by = a + bx,或类似的函数。

我一直在导入系数并将它们转换为numpy数组。然后,我想使用scipy的集成库以数字方式集成函数。但是,由于某些行具有大量系数,并且系数之间的系数数量不恒定,我想将函数参数作为数组传递给积分函数。

作为一个简单的例子,我想制作类似下面的代码:

import scipy.integrate
import numpy
def integrand(x, a, b, c, d):
    return a + b*x + c*x**2 + d*x**3
a = 1
b = 2
c = 3
d = 4
coefficients = numpy.array([a, b, c, d])
answer = scipy.integrate.quadrature(integrand, 0, 1, args=coefficients)

如果我用

替换最后一行,代码将正常运行
answer = scipy.integrate.quadrature(integrand, 0, 1, args=(a, b, c, d))

是否有任何实用的方法从数组传递系数,而不是手动插入每个元素?

0 个答案:

没有答案