如何实现牛顿法求解后向欧拉法中的代数方程

计算科学 隐式方法 牛顿法
2021-12-07 00:43:45

你能解释一下后向欧拉方法是如何工作的吗?我已经看过公式并尝试理解该方法,但我无法理解的是为什么以及如何使用 Newton-Rapson 方法。

你有一个好的教程的链接吗?可以帮助我以图形方式理解它的东西吗?

更新

根据保罗所说,请您告诉我以下内容是否正确?

柯西问题是这样的

u(t)=f(u(t),t)wheref(u(t),t)=u(u(t),t)

然后,根据保罗给出的例子,我会有类似的东西:

u(t)=[u(t)]3

现在,反向欧拉方法如下:

ut+1=ut+hf(ut+1,t+1)          not really sure about this

所以对于我应该有以下t=0h=1/2

u1=u0+12(u1)3

对于这个方程,我必须在下一次之前通过 Newton-Raphson 求解:t=1

u1u012(u1)3=0

从这里我不知道该怎么办,如何使用牛顿法??

更新

我想我终于明白了。从落后的欧拉方法我有:

ut+1=ut+hf(ut+1,t+1)

这可以看作(就像每个人告诉我的那样):

F(ut+1)=ut+1uthf(ut+1,t+1)=0

其中所以我有ut+1=x

F(x)=xuthf(x,t+1)=0

现在我看到了一种熟悉的方法来使用牛顿法(或任何其他方法)来找到x

2个回答

形式的微分方程, 其中 不一定是 u 中的线性函数。当 f 为非线性时,反向欧拉法会产生一组非线性方程,每个时间步都需要求解。因此,可以使用 Newton-raphson 来解决它。 ut=f(u,t)f

例如,取

dudt=u3(t)

后向欧拉导致

ut+1utΔt=ut+13

由于无法直接求解,因此必须通过数值方案对其进行估计。这就是 newton-raphson 发挥作用的地方。重新排列这个方程,使 RHS=0,我们得到ut+1

ut+1utΔtut+13=0

现在,我们可以应用牛顿法求这个方程的根,这又成为下一个时间步长的微分方程的解。ut+1

正如您所说,您知道,向后欧拉是使用以下方程式的时间前进:Ut+Δt=Ut+U(t,Ut+Δt)Δt.

您不能明确评估Ut+Δt因为你不知道Ut+Δt. 为了更清楚,等式是:

X=U(t)+U(t,X)Δt

因此,您必须使用某种方法(在您的案例中使用 Newton-Raphson)求解 X 的方程(在下一个时间步是 U)。

至于图形解释,想想你的标准欧拉。那里的想法是您正在获取当前值U及其在当前时间的导数,并假设它对于一些小的时间变化几乎是线性的(Δt)。所以你正在画一条直线U(t)在一个斜坡上U(t).

对于向后的欧拉,您所做的就是使用直线近似末端的斜率而不是它的起点。至于您为什么要这样做,这是一个更复杂的答案,涉及您的解决方案的稳定性。