我试图在python中定义一个heavyiside函数,但是得到了一个奇怪的错误。我不确定'键入'是指因为0可以只是一个整数。请指教
#Part A - Plot function against values of variable x
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate as quad
import math
#make heaviside "theta" function
x = int
def heaviside (x):
if (x >= 0):
return 1
else:
return 0
#plot
x = int
y = heaviside(x)*[1-heaviside(x-1)]
plt.plot(x, y)
答案 0 :(得分:1)
当声明x = int时,您将x等同于数据类型int,而不是该数据类型的实例。 您可以运行类似此代码的内容来查看它。
close()
相当于运行
>>> x = int
>>> x(4.5)
4
如果您传递x的数值,例如x = 4,那么您将不会遇到此错误。
以下代码不再引发此错误。由此产生的情节并不多;但是没有TypeError:无法解决的类型:type()> = int()
>>>int(4.5)
4
答案 1 :(得分:0)
您设置的x不正确。如果你想让x成为一个整数,只需使用如下的赋值运算符。
x = 5