我希望求解二阶微分方程,其中目标函数是两个变量的函数。
等式读取
del ^ 2(p)= - exp(p)
其中p是R和z的函数。
按照scipy.integrate.odeint
文档中的步骤,我重写了一组四个一阶微分方程。
q = dp/dR
s = dp/dz
dq/dR = - exp(p) - ds/dz - q/R
ds/dz = - exp(p) - (q+R dq/dR)/R
使用y = [p, q, s]
我可以设置初始条件,例如y0 = [p0, 0, 0]
。
我的问题是如何建立衍生函数。在1变量的情况下,你会有像
这样的东西def deriv(y, r, params):
p, q = y
dydr = [q, f(p,q)]
return dydr
然而,如果要用两个变量的情况来做那个行
dydr = [....]
将包含与不同事物有关的衍生物。 是否有明显的解决方法,或者我的做法是完全错误的?