Matlab 积分微分方程

Matlab 积分微分方程,matlab,differential-equations,Matlab,Differential Equations,我有一组微分方程的形式: x1dot = x3; x2dot = x2; x3dot = x1; x4dot = x2 + integral(x1,t,tend) 我有x1,x2在tstart和x3,x4在tend的边界条件。没有积分项,它是使用BVP4C的直接实现 我想知道是否有可能从BVP解算器中获得状态的先前解,该解可用于积分 一种可能性是将ode45和fsolve结合用于边值问题,在这里我可以得到先前的解决方案,但这种方法不如BVP设置快 我还觉得,当我使用前面的积分解决方案时,x1,

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

x1dot = x3;
x2dot = x2;
x3dot = x1;
x4dot = x2 + integral(x1,t,tend)
我有
x1
x2
tstart
x3
x4
tend
的边界条件。没有积分项,它是使用
BVP4C
的直接实现

我想知道是否有可能从BVP解算器中获得状态的先前解,该解可用于积分

一种可能性是将
ode45
fsolve
结合用于边值问题,在这里我可以得到先前的解决方案,但这种方法不如BVP设置快

我还觉得,当我使用前面的积分解决方案时,
x1
,收敛可能会有一些困难

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

Set

x5 = integral(x1,t,tend)
然后

由于
x5dot+x3dot=0
,因此
x5+x3=C=const
。因此,您可以使用替换
x5→ C-x3


常数C只是
C=x3(倾向)+x5(倾向)=x3(倾向)
(因为
x5(倾向)=0
)。

欢迎这样做(无论如何,提问方),并对结构良好的问题表示赞誉。+1:大多数傻瓜很容易被虚假的复杂性蒙蔽;通常需要天才才能看到内在的简单性……显然,我是个傻瓜,因为我正在努力理解为什么会有减号(
x5dot=-x1
),以及为什么
x5(tender)=0
…你能详细说明一下吗?使用基本定理和
x1
作为
x1
的反导数之一,你就有了
x5(t) =X1(tend)-X1(t)
。对其进行微分并应用
X1'(t)=X1(t)
得到微分方程
dotx5=-X1
。对于
t=tend
来说,积分域是一个点,因此积分为零,
x5(tend)=0
。好的,我想我需要更多的咖啡:)
x5dot = -x1  with  x5(tend) = 0