0
我试图与SciPy的特殊功能克服广播错误勒polynomails,SciPy的eval_legendre
scipy.special.eval_legendre(n, x)
它允许你在某些点评估勒评估勒让德多项式P_N(X)。然后,我想将这些勒让德多项式求和,\ Sigma_n P_n(x)。
通过在几个N个值评估P_N(x)的开始,让我们说10定义的数组
arr = np.arange(10) = array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
,你可以(x)的这些值评估P_N。
但是我的论点是100乘100的矩阵。所以,
eval_legendre(np.arange(10), matrix)
将无法正常工作,因为有广播错误。这很容易克服。
但随后,我想借这些Legendre多项式
“总和= P_0(X)+ P_1(X)+ P_2(x)+ ... + P_10的总和(X) “
使用
import numpy as np
np.sum()
也就是说更为复杂,因为我总结各P_N(X)。
我怀疑正确的做法是一样的东西
for i in arr:
np.sum(i, matrix)
有没有更干净/整洁的方式做到这一点?
不需要for循环,只需像往常一样使用广播和np.newindex即可。 –
@ pv。 :我不知道我跟着你。这是一个带n个值(10,)的Legendre多项式P_n(x)和一个矩阵(100,100)的自变量。 – ShanZhengYang
@StackG:我很感激帮助。我唯一的问题是为什么“Sum”保持我的矩阵形状(即数组(100,100)),但np.sum返回一个浮点数? – ShanZhengYang