我是编码的新手,我正在尝试绘制休假功能
H_n(X)= SUM((! - 1)^(k)的(N))/(!!(k)的(N-2 k))的 ((2. * x)^(N-2。* k))其中k = 0->(N / 2),N是由用户定义的整数。
我得到了以下错误:TypeError:**或pow()不支持的操作数类型:' float'和'功能'
这是我迄今为止所做的代码。
from matplotlib.pyplot import plot, show
import numpy as np
import math
N = input('define N: ')
def factorial(N):
if N <= 1:
return 1
else:
return N * factorial(N-1)
def k(N):
s = 0
for i in np.arange(0,N/2):
s += 1
return k
def binomial(N,k):
b = ((-1.)**(k)*factorial(N))/(factorial(k)*factorial(N-2.*k))*((2.*x)**(N-2.*k))
return b
x=np.arange(-4,4,.1)
plot(binomial(N,k))
show()
我测试了我的阶乘函数,它确实找到了一个输入的阶乘。我无法弄清楚我哪里出错了。