函数 > 求解和最优化 > 微分方程求解器 > 派生 ODE 的初始条件
  
派生 ODE 的初始条件
以下函数将会与边界值问题结合使用,其中并不是所有初始条件都是已知的。
bvalfit(v1, v2, x1, x2, xf, D, load1, load2, scoreb)
sbval(v1, x1, x2, D, load1, scorei)
返回含有这些初始值的矢量,对于在 x1 中标识的 ODE 或 ODE 方程组,这些初始值在 D 处会保留未指定状态。这些初始值随后可用于任一 ODE 求解器。如果已知该解的某些值及其中间值的前 n − 1 阶导数,则当该导数在积分区间某处不连续时,使用 bvalfit 会特别有用。如果已知初始点及终点处的某些值,则使用 sbval。通过从端点抛射并与解的轨线及其中间点处的导数相匹配,可将边界值问题转换为初始值问题。
自变量
v1v2 是由在 x1 处保留未指定状态的初始值的实数估计值所组成的矢量。
x1x2 是求解微分方程时方程解的区间的实数端点。
xf 是介于 x1x2 之间的实数中间点,其中解的轨线在该处被限定为相等。
D(x, y) 为自变量 x 和函数矢量 yn 元素矢量值函数,其中包含 ODE 方程组中所有未知函数的一阶导数方程。
要创建此矢量,请使用方程左边的一阶导数项自身来计算方程,而不要使用乘数,也不要使用更高阶导数。例如,包含二阶导数的函数 y(x) 的单个 ODE 必须写成 y0(x)y1(x) 形式的方程组,其中 y0 的一阶导数是 y1。将使用矢量下标为求解器重写以下单函数 ODE:
单击复制此表达式
单击复制此表达式
显式左侧
load1(x1, v1), load2(x2, v2) 是分别在 x1x2 的情况下,其元素对应于 yn 值的实矢量值函数。其中某些值为已知的初始条件。未知值被分别设为 v1v2 中的相应估值。
scoreb(xf, y) 为实数矢量值函数,可用于指定解在 xf 处的匹配方式。用户通常需定义 scoreb(xf, y):= y 以使所有未知函数的解在 xf 处均匹配。
scorei(x2, y) 是拥有与 v 相同元素数的实矢量值函数。每个元素均为在 x2 处最初指定的初始条件与求解器给出的相应估值之间的差值。score 矢量将测量待选解与 x2 处初始条件之间的匹配程度。任意元素的 0 值表示完全匹配。