我有兴趣解决一个我不知道右手边解析形式的微分方程,我只知道它对于自变量的一组有限值的数值:
我还没有找到一个允许我解决这个问题的库,我想在自己尝试解决之前确定是否有任何库,我认为必须对数组进行插值以匹配积分器使用的特定网格,或将网格固定到我的值为上。
我有兴趣解决一个我不知道右手边解析形式的微分方程,我只知道它对于自变量的一组有限值的数值:
我还没有找到一个允许我解决这个问题的库,我想在自己尝试解决之前确定是否有任何库,我认为必须对数组进行插值以匹配积分器使用的特定网格,或将网格固定到我的值为上。
因为 rhs 独立于,所以您的情况已经被一些标准插值库作为特殊情况处理。这是一个如何在 scipy (文档链接)中处理三次样条的示例,我选择了一个很好的函数来说明:
x = array([0.0] + sorted(np.random.rand(16)) + [1.0])
y = 1/(1+x*x)
f = CubicSpline(x, y)
u = f.antiderivative()
In [34]: u(0.5) - np.math.atan(0.5)
Out[34]: -5.874574474096228e-07
因此,首先对 rhs 函数进行插值,然后针对该插值精确计算其反导,从而求解。对于这样的库来说,这是一个相当常见的基本功能。