legendre函数matlab,MATLAB的Legendre函数的Python等价物

好吧,我想你在用这个模块复制这些结果时会遇到麻烦,因为从名字上判断,只处理勒让德多项式(这些是勒让德方程的解,其中mu=0,或者称为0阶解)

我不知道matlab,但是看一下文档,你输入的是计算勒让德函数的结果,达到指定的阶数。在

在python中,您所做的似乎是创建一个由zeroeth一阶和二阶legendre多项式组成的组合

0*l*0+1*l*1+2*l*2

可以在指定点处计算勒让德多项式:l0 = np.polynomial.legendre.Legendre([0,1])

你可以验证一下

^{pr2}$

我希望这是有用的-随时问更多的问题

编辑: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

我希望这对你有用,如果我搞砸了什么就告诉我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值