我有一组以下形式的微分方程:
x1dot = x3;
x2dot = x2;
x3dot = x1;
x4dot = x2 + integral(x1,t,tend)
我在 tstart
和 x3
、x4< 处有
在 x1
、x2
的边界条件tend
。没有积分项,它是使用 BVP4C
的直接实现。
我想知道是否有可能从 BVP 求解器中获得先前的状态解,该解可用于积分。
一种可能性是结合使用 ode45
和 fsolve
来解决边界值问题,我可以得到以前的解决方案,但这种方法不如 BVP 快设置。
我也觉得用之前的解法x1
做积分可能收敛有些困难。
是否有更好/更快或更简单的方法来解决这个问题?
最佳答案
设置
x5 = integral(x1,t,tend)
然后
x5dot = -x1 with x5(tend) = 0
因为 x5dot + x3dot = 0
,所以 x5 + x3 = C = const
。因此,您可以使用替换 x5 → C - x3
。
常量 C
就是 C = x3(tend) + x5(tend) = x3(tend)
(因为 x5(tend) = 0
)。
关于matlab - 积分微分方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41228805/