我有一组形式的微分方程:

x1dot = x3;
x2dot = x2;
x3dot = x1;
x4dot = x2 + integral(x1,t,tend)

我有x1x2tstartx3x4的边界条件。没有积分项,它是使用tend的直接实现。

我想知道是否有可能从BVP求解器获得状态的先前解决方案,该解决方案可用于积分。

一种可能性是结合使用BVP4Code45来解决边值问题,在这里我可以得到以前的解决方案,但是这种方法不如BVP设置那样快。

我还感到,当我使用先前的解决方案fsolve作为积分时,在收敛上可能会有些困难。

有没有更好/更快或更简单的方法来解决此问题?

最佳答案


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/

10-11 11:58