我得到一个“TypeError:'float'对象不可调用。
这是我的代码:
from matplotlib.pylab import *
def f(x,t):
return (exp(-(x-3*t)**2) )*sin(3*pi(x-t))
x = linspace(-4, 4, 8)
y = zeros(len(x))
for i in xrange(len(x)):
y[i] = f(x[i],0)
plot(x, y)
show()
答案 0 :(得分:1)
pi不是一个函数,但由于你没有使用*表示你想要与它相乘,看起来你正在使用它。
答案 1 :(得分:0)
float
是Python中的数字类型。你无法调用它,因为它不是一个函数。我不熟悉mathplotlib.pylab包,但是快速查看一下你的代码,我猜错误就在这部分代码中
from matplotlib.pylab import *
def f(x,t):
return (exp(-(x-3*t)**2) )*sin(3*pi(x-t)) #<---- pi is not a function, it can't be called
x = linspace(-4, 4, 8)
y = zeros(len(x))
for i in xrange(len(x)):
y[i] = f(x[i],0)
plot(x, y)
show()
如果您尚未定义名为pi
的方法或mathplotlib.pylab中不包含名为pi
的方法,那么这就是您的错误所在。如果py是等于3.1415
的浮点变量,则调用pi(x-t)
将与调用3.1415(x-t)
相同。
您最有可能希望使用pi
执行操作。如果是,则使用所需的操作。例如,`pi +(x-t)
答案 2 :(得分:0)
c=(1/((abs(r1-rmed)+1)(abs(r2-rmed)+1)))
当我在程序中键入此行时,出现错误:
float对象不可调用。
为消除错误,我在括号之间使用*。
c=(1/((abs(r1-rmed)+1)*(abs(r2-rmed)+1)))