Python 类型错误:^:';的操作数类型不受支持;numpy.float64';和';numpy.float64';

Python 类型错误:^:';的操作数类型不受支持;numpy.float64';和';numpy.float64';,python,python-2.7,numpy,Python,Python 2.7,Numpy,我刚开始用Python编程,对Numpy软件包非常陌生。。。我还在努力掌握它。我试图用欧拉方法解一个函数 这是我的密码: Z=4 B=8 U=1 C=4 a,b=(0.0,10.0) n=2000 x0=-1.0 t=linspace (a,b,n) #----------------------------------------------------------------------------- def euler (f,x0,t): n=len (t) x=np.a

我刚开始用Python编程,对Numpy软件包非常陌生。。。我还在努力掌握它。我试图用欧拉方法解一个函数

这是我的密码:

Z=4
B=8
U=1
C=4

a,b=(0.0,10.0)
n=2000
x0=-1.0
t=linspace (a,b,n)
#-----------------------------------------------------------------------------
def euler (f,x0,t):
    n=len (t)
    x=np.array(n*[x0,])
    for i in xrange (n-1):
        float (x[i] + ( t[i+1] - t[i] ) * f( x[i], t[i] ))
    return x



#---------------------------------------------------------------------------------          
if __name__=="__main__":


    def f(x,t): 
        return float((Z)*[-(1/6)*B*C*x^3+0.5*U*t^2])


    #numerical solutions
    x_euler=euler(f,x0,t)


    #figure
    plt.plot (t,x_euler, "b")
    xlabel (t)
    ylabel (x)
    legend ("Euler")

    show()
对于这些问题,我不同意类似的解决方案。这是我的回溯:

Traceback (most recent call last):
  File "C:\Python27\testeuler.py", line 45, in <module>
    x_euler=euler(f,x0,t)
  File "C:\Python27\testeuler.py", line 31, in euler
    float (x[i] + ( t[i+1] - t[i] ) * f( x[i], t[i] ))
  File "C:\Python27\testeuler.py", line 41, in f
    return float((Z)*[-(1/6)*B*C*x^3+0.5*U*t^2])
TypeError: unsupported operand type(s) for ^: 'numpy.float64' and 'numpy.float64'
回溯(最近一次呼叫最后一次):
文件“C:\Python27\testeuler.py”,第45行,在
x_euler=euler(f,x0,t)
文件“C:\Python27\testeuler.py”,第31行,在euler中
浮点数(x[i]+(t[i+1]-t[i])*f(x[i],t[i]))
文件“C:\Python27\testeuler.py”,第41行,在f中
返回浮点数((Z)*[-(1/6)*B*C*x^3+0.5*U*t^2])
TypeError:不支持^numpy.float64和numpy.float64的操作数类型

有人知道可能有什么问题或有什么建议吗

插入符号运算符(^)不是幂运算。它是按位异或,只对整数有意义。您想要的是
**

谢谢您的回复!