Python 关于微分方程的数学积分问题
我不熟悉编码,所以请耐心等待。我有一个练习,目的是解一个微分方程,其中有一个函数的积分形式为dx cos(x)**2,介于0和t之间 我尝试定义一个函数,然后使用该定义在程序结束时尝试获取最终值Python 关于微分方程的数学积分问题,python,python-3.x,Python,Python 3.x,我不熟悉编码,所以请耐心等待。我有一个练习,目的是解一个微分方程,其中有一个函数的积分形式为dx cos(x)**2,介于0和t之间 我尝试定义一个函数,然后使用该定义在程序结束时尝试获取最终值 import numpy from scipy import integrate def dydt(C,y,t): return -C*y def f_2(x): return numpy.sin(x)**2 def C(t): return 1+ integrate.quad(
import numpy
from scipy import integrate
def dydt(C,y,t):
return -C*y
def f_2(x):
return numpy.sin(x)**2
def C(t):
return 1+ integrate.quad(f_2,0,t)
t=numpy.linspace(0,10,100)
y=integrate.odeint(dydt,[1.0],t)
这就是我得到的错误:TypeError:dydt()缺少1个必需的位置参数:“t”-->我知道我已经清楚地定义了我的t,那么我做错了什么?干杯 dydt(C,y,t)
应该是dydt(C,y)
import numpy
from scipy import integrate
def dydt(C,y):
return -C*y
def f_2(x):
return numpy.sin(x)**2
def C(t):
return 1+ integrate.quad(f_2,0,t)
t=numpy.linspace(0,10,100)
y=integrate.odeint(dydt,[1.0],t) # works fine
print(y)
dydt(C,y,t):
不使用t
。你可以把它定义为dydt(C,y):
是的,这是我的数学。谢谢