微分方程的数学积分问题

2024-10-01 09:41:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我不懂编码,所以请耐心等待。我有一个练习,目的是解一个微分方程,其中有一个函数,它的积分形式为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,那么我做错了什么呢?干杯


Tags: 函数fromimport程序目的numpy编码return
1条回答
网友
1楼 · 发布于 2024-10-01 09:41:54

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) 

相关问题 更多 >