我想用 GEKKO 求解二阶微分方程。在文档中,只有一个示例向您展示如何求解一阶方程。我不知道如何编写 y 的二阶导数以使其工作。
这是一阶微分方程文档中的示例。
from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt
m = GEKKO()
m.time = np.linspace(0,20,100)
k = 10
y = m.Var(value=5.0)
t = m.Param(value=m.time)
m.Equation(k*y.dt()==-t*y)
m.options.IMODE = 4
m.solve(disp=False)
plt.plot(m.time,y.value)
plt.xlabel('time')
plt.ylabel('y')
plt.show()