我想写一个程序,在循环中求解下面的定积分,循环中每次迭代考虑常数c的不同值。
然后我希望积分的每个解都被输出到一个新的数组中。
如何用python编写这个程序?
限制在0到1之间。
from scipy import integrate
integrate.quad
在这里可以接受。我的主要努力是组织这个计划。
这是一个旧的尝试(失败了)
# import c
fn = 'cooltemp.dat'
c = loadtxt(fn,unpack=True,usecols=[1])
I=[]
for n in range(len(c)):
# equation
eqn = 2*x*c[n]
# integrate
result,error = integrate.quad(lambda x: eqn,0,1)
I.append(result)
I = array(I)
例如计算[0,9]中c的给定积分:
这是使用list comprehension和lambda functions。
或者,可以将从给定c返回整数的函数定义为ufunc(感谢vectorize)。这也许更符合努比的精神。
这将为任何常量列表输出一个与Nicolas answer相同的列表。
你真的很亲近。
我觉得你对
lambda
的工作方式有点困惑。是一样的:
如果你仍然不喜欢lambda,你可以这样做:
相关问题 更多 >
编程相关推荐