MATLAB的bvp4c评估什么Jacobian?

问题描述 投票:0回答:1

我正在尝试使用MATLAB的bvp4c调试“奇异的Jacobian”问题。我的问题是:正在评估哪些雅各布主义者?我们有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,它们将始终是单数。有人可以指出一些理论来阐明奇异的雅可比误差吗?谢谢。

matlab differential-equations
1个回答
0
投票

是的。求解器将所有步骤方程和边界条件放入一个大型非线性系统中,并对其应用一些牛顿或类牛顿法。在一个非常简化的版本中,您可以在中间使用梯形台阶,以便您的系统是

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 wrt的雅可比行列式。 y是该系统雅可比行列中的块。与任何大型非线性系统一样,求解过程严重取决于起始点。

[BVP4c使用四阶并置方法,而不是二阶梯形步骤(这也在并置方法中)。

© www.soinside.com 2019 - 2024. All rights reserved.