我得到一个"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()
发布于 2015-10-03 05:04:57
pi不是一个函数,但是因为您没有使用*来表示您想要与它相乘,所以看起来您正在将它作为一个函数使用。
发布于 2015-10-03 05:05:31
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)
https://stackoverflow.com/questions/32915763
复制相似问题