我正在尝试一个勒让德函数的程序,如下所示,但它显示出一些错误。我不习惯用Python来排列数组,但是在C++中知道它们。在
from math import *
j = 0
arr = [0 for i in range (6)]
k= 3.75
arr[0]= 1
arr[1] = 1
x0= -1
xf = 1
x= x0
h= 0.1
f1 = open('leg.dat', 'w')
while x< xf:
for j in range(0,5):
arr[j+2]= (arr[j] *(j*j + j -k)/((j+2)*(j+1)))
print >>f1, x,(x**j)*(((j+2)(j+1)*arr[j]) - (j*(j-1)*arr[j]) - (2*j*arr[j]) + k*arr[j])
x = x+h
f1.close ()
显示的错误:
^{pr2}$
问题是:
Python正试图用
^{pr2}$j+1
作为参数调用j+2
。在你是说
(j+2)*(j+1)
?在您没有指定这两个值之间的操作。你是想让他们成倍增长吗?在
^{pr2}$相关问题 更多 >
编程相关推荐