擅长:python、mysql、java
<p>我想你得到的错误来自于一个错误的调用scipy.integrate.quad公司名称:</p>
<ul>
<li>第一个参数只需要是函数名,然后对该函数的第一个变量进行积分。其他变量的值可以通过args关键字传递给函数。在</li>
<li>的输出scipy.integrate.quad不仅包含积分值,还包含误差估计。所以返回一个由2个值组成的元组!在</li>
</ul>
<p>最后,以下功能应该起作用:</p>
<pre><code>def Arnett(t, z, Mni, tm=8.8, tni=8.77, tco=111.3, Eni=3.90e+10,
Eco=6.78e+09):
x=t/tm
f,err=integrate.quad(A,0,x,args=(tm,tni)) #integral of A
h,err=integrate.quad(B,0,x,args=(tm,tni,tco)) #integral of B
g=np.exp((-(x/tm)**2))
return Mni*g*((Eni-Eco)*f+Eco*h)
</code></pre>
<p>但是一个更好的解决方案可能是对A和B进行分析积分,然后计算表达式<a href="https://stackoverflow.com/a/31855296/2358845">as murison suggested</a>。在</p>