擅长:python、mysql、java
<p>正如Will所说,你在数组和函数之间感到困惑。</p>
<p>你需要定义你想要单独积分的函数,并把它传递给高斯。</p>
<p>例如</p>
<pre><code>def my_f(x):
return 2*x**2 - 3*x +15
gauss(m_f,2,1,-1)
</code></pre>
<p>也不需要循环,因为numpy数组是<a href="http://en.wikipedia.org/wiki/Array_programming" rel="nofollow">vectorized</a>对象。</p>
<pre><code>def gauss1(f,n):
[x,w] = p_roots(n+1)
G=sum(w*f(x))
return G
def gauss(f,n,a,b):
[x,w] = p_roots(n+1)
G=0.5*(b-a)*sum(w*f(0.5*(b-a)*x+0.5*(b+a)))
return G
</code></pre>