Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关于微分方程的数学积分问题_Python_Python 3.x - Fatal编程技术网

Python 关于微分方程的数学积分问题

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(

我不熟悉编码,所以请耐心等待。我有一个练习,目的是解一个微分方程,其中有一个函数的积分形式为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(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):
是的,这是我的数学。谢谢