问题描述
我将从图片中尝试适应平等
我的代码是
import numpy as np
import scipy.integrate as integrate
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#define universal variables
def dH_dt(H,t=0):
return np.array(((H1(t)-H0(t))**2)/sqrt((H0(t))**2*((H0(t))**2)))
t = np.linspace(0,100,10000)
H0 = [0.0001]
H1 = [0.0001]
H,infodict = integrate.odeint(dH_dt,H0,H1,t,full_output=True)
fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
ax.plot(H[:,0],H[:,1])
plt.show()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/scipy/integrate/odepack.py",line 241,in odeint
output = _odepack.odeint(func,y0,args,Dfun,col_deriv,ml,mu,odepack.error: Extra arguments must be in a tuple.
你能说我怎么解决吗
解决方法
认为您必须尝试以下操作:
H,infodict = integrate.odeint(dH_dt,H0,H1,args=(t,),full_output=True)
您需要在 ()
中添加一个逗号,以便 python 知道它是一个元组。