擅长:python、mysql、java
<p>好吧,我想你在用这个模块复制这些结果时会遇到麻烦,因为从名字上判断,只处理勒让德多项式(这些是勒让德方程的解,其中mu=0,或者称为0阶解)</p>
<p>我不知道matlab,但是看一下文档,你输入的是计算勒让德函数的结果,达到指定的阶数。在</p>
<p>在python中,您所做的似乎是创建一个由zeroeth一阶和二阶legendre多项式组成的组合</p>
<p>0*l*0+1*l*1+2*l*2</p>
<p>可以在指定点处计算勒让德多项式:</p>
<pre><code>l0 = np.polynomial.legendre.Legendre([0,1])
</code></pre>
<p>你可以验证一下</p>
^{pr2}$
<p>我希望这是有用的-随时问更多的问题</p>
<p>编辑:</p>
<pre><code>def coefficients(order):
for i in range(1, order):
base = np.zeros(order)
base[i] = 1
yield base
def a(n, m):
return 1.0*(2*n+1) / ((n*(n+1))**m)
def g(const_dist, m, order):
legendres = [np.polynomial.legendre.Legendre(n) for n in coefficients(order)]
terms = [a(n+1,m)*legendres[n](const_dist) for n,_ in enumerate(legendres)]
return sum(terms)
>>> g(0.4, 4, 6)
0.073845698737654328
</code></pre>
<p>我希望这对你有用,如果我搞砸了什么就告诉我</p>