【问题标题】:Integral Differential equation积分微分方程
【发布时间】:2016-12-19 18:30:41
【问题描述】:

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

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

我在tstartx3x1x2tendx4 的边界条件。如果没有积分项,它是使用BVP4C 的直接实现。

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

一种可能性是结合使用ode45fsolve 来解决边界值问题,我可以有以前的解决方案,但这种方法不如 BVP 设置快。

我也觉得用之前的解法x1做积分可能会有些收敛困难。

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

【问题讨论】:

  • 欢迎来到 SO(无论如何都是提问的一方),感谢这个格式良好的问题。

标签: matlab differential-equations


【解决方案1】:

设置

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)。

【讨论】:

  • +1:大多数傻瓜很容易被虚假的复杂性蒙蔽;往往需要天才才能看到内在的简单性。
  • ...我显然是个傻瓜,因为我很难理解为什么会有减号 (x5dot = -x1),以及为什么有x5(tend) = 0...你能详细说明一下吗?
  • 使用基本定理和X1 作为x1 的反导数之一,可以得到x5(t)=X1(tend)-X1(t)。对其进行微分并应用X1'(t)=x1(t) 得到微分方程dotx5 = -x1。对于t=tend,积分域是一个点,因此积分为零,x5(tend)=0
  • ...好吧,我想我需要更多的咖啡 :)
猜你喜欢
  • 2014-11-28
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多