Python Function Returning None (5个答案)
12个月前关闭。
def func1(P,N):
F1 = 0.3*P*N - 0.8*P
return F1
def func2(P,N):
F2 = 1.1*N + N*P
def FwEulerTwo(t0,Y0,h,tend):
t = np.arange(t0,tend+h,h)
n = len(t)
Y = np.zeros((2,n))
for i in range(0,n):
print(Y)
if i == 0:
Y[0,i] = Y0[0]
Y[1,i] = Y0[1]
else:
Y[0,i] = Y[0,i-1] + func1(float(t[i-1]),float(Y[0,i-1])) * h
Y[1,i] = Y[1,i-1] + func2(float(t[i-1]),float(Y[1,i-1])) * h
return t,Y
Y0 = np.zeros((2,1))
print(Y0)
Y0[0,0] = 0.8
Y0[1,0] = 7
t,Y = FwEulerTwo(0,Y0,0.019,40)
我一直遇到的错误是*:'Nonetype'和'float'不受支持的操作数类型。我不确定出了什么问题。请帮忙!先感谢您!
Python有一个隐式的返回值:None
。
由于在func2
中您没有返回任何内容,因此它将返回None。
def func2(P,N):
F2 = 1.1*N + N*P
return F2