我正在尝试使用 MATLAB 的 bvp4c 调试我的"单一雅可比"问题。我的问题是:哪些雅各布主义者正在接受评估?我们有 ODE 的非线性系统 y' = f(x, y(。我假设f_i关于y_j的导数被放入矩阵中,并以y的某些值进行评估。也许这个矩阵对于bvp4c算法应该是可逆的,尽管我发现算法在不是这种情况时会收敛。
边界条件 g(ya,yb( = 0 的残差如何?我假设g_i关于ya_j的导数被采用。这给出了一个矩阵。此外,g_i相对于yb_j的导数可以取。这也给出了一个矩阵。bvp4c是否评估这些雅各布派?如果是这样,那么如果任何g_i不包含 ya 或 yb,它们将始终是单数。 有人可以指出一些理论来阐明单一的雅可比错误吗?谢谢。
是的。求解器将所有阶跃方程和边界条件放入一个大型非线性系统中,并对其应用一些牛顿或类似牛顿的方法。在一个非常简化的版本中,您可以在中间使用梯形步骤,以便您的系统
left_bc(x[0],y[0])=0
y[1]-y[0] - 0.5*( x[1]-x[0]) * ( f(x[0],y[0]) + f(x[1],y[1]) ) = 0
...
y[N]-y[N-1] - 0.5*( x[N]-x[N-1]) * ( f(x[N-1],y[N-1]) + f(x[N],y[N]) ) = 0
right_bc(x[N],y[N])=0
如您所见,f
的雅各布派。y
是该系统的雅可比矩阵中的块。与任何大型非线性系统一样,求解过程主要取决于初始点。
BVP4c 使用四阶搭配方法而不是二阶梯形步骤(这也属于搭配方法类(。