阿多米安分解法解非线性方程

George Adomian (1922--1996)
阿多米安分解法(Adomian decomposition method,简称:ADM法)是非线性方程的一个级数解的方法。本文依据文献:Convergence of Adomian's method applied to nonlinear equations做一个简要介绍。
方法
非线性方程$f(x)=0$写成如下形似:
\begin{equation} x=F(x)+c \label{eq} \end{equation}
方程的解是如下级数形式:
\begin{equation} x=\sum_{i=0}^{\infty}x_i \label{series} \end{equation}
将$F(x)$在$x=x_0$附近做泰勒展开:
\begin{equation} \begin{split} F(x)=&F(x_0)+F'(x_0)(x-x_0)+F''(x_0)\frac{(x-x_0)^2}{2!} \\ &+F'''(x_0)\frac{(x-x_0)^3}{3!}+\cdots \\ =&F(x_0)+F'(x_0)(x_1+x_2+\cdots)+F''(x_0)\frac{(x_1+x_2+\cdots)^2}{2!}\\ &+F'''(x_0)\frac{(x_1+x_2+\cdots)^3}{3!}+\cdots \\ =& A_0+A_1+A_2+A_3+\cdots \end{split} \label{FTaylor} \end{equation}
阿多米安多项式(Adomian’s polynomials)前4项为:
\begin{equation} A_0=F(x_0) \label{A0} \end{equation}
\begin{equation} A_1=x_1F'(x_0) \label{A1} \end{equation}
\begin{equation} A_2=x_2F'(x_0)+\frac{1}{2!}x_1^2F''(x_0) \label{A2} \end{equation}
\begin{equation} A_3 = x_3F'(x_0)+x_1x_2F''(x_0)+\frac{1}{3!}x_3^3F'''(x_0) \label{A3} \end{equation}
\begin{equation} A_4 = x_4F'(x_0)+\left(\frac{1}{2!}x_2^2+x_1x_3\right )F''(x_0)+\frac{1}{2!}x_1^2x_2F'''(x_0)+\frac{1}{4!}x_1^4F^{(iv)}(x_0) \label{A4} \end{equation}
\begin{equation} \begin{split} A_5 =& x_5F'(x_0)+(x_1x_4+x_2x_3)F''(x_0)+\frac{1}{2!}(x_3x_1^2+x_1x_2^2)F'''(x_0) \\ & + \frac{1}{3!}x_1^3x_2F^{(iv)}(x_0) + \frac{1}{5!}x_1^5F^{(v)}(x_0) \end{split} \label{A5} \end{equation}
\begin{equation*} \vdots \end{equation*}
阿多米安多项式的一般形式为:
\begin{equation} A_n(x_0,x_1,x_2,\cdots)=\frac{1}{n!}\left. \left [ \frac{\mathrm d^n}{\mathrm d\lambda^n}F\left (\sum_{i=0}^{\infty}\lambda^ix_i \right ) \right ]\right |_{\lambda = 0} \label{An} \end{equation}
$x$级数\eqref{series}式中各项为:
\begin{equation} \begin{split} x_0 =& c \\ x_1 =& A_1 \\ x_2 =& A_2 \\ x_3 =& A_3 \\ \vdots \end{split} \label{xi} \end{equation}
举例
如果方程\eqref{eq}式中的$F(x)=x^3$,那么,有
\begin{equation*} \begin{split} x_0=&c \\ x_1=&A_0=x_0^3 \\ x_2=&A_1=3x_0^2x_1 \\ x_3=&A_2=3x_0^2x_2+3x_0x_1^2 \\ x_4=&A_3=3x_0^2x_3+6x_0x_1x_2+x_0^3 \\ x_5=&A_4=3x_0^2x_4+3x_1^2x_2+3x_2^2x_0+6x_0x_1x_3 \\ x_6=&A_5=3x_0^2x_5+3x_1x_2^2+3x_1^2x_3+6x_0x_1x_4+6x_0x_2x_3 \end{split} \vdots \end{equation*}
下面解方程:
\begin{equation} x^3+4x^2+8x+8=0 \label{eqex} \end{equation}
化成如下形式:
\begin{equation} x=-\frac{1}{4}x^3-\frac{1}{2}x^2-1 \label{TReqex} \end{equation}
级数解截断至第6项,得$x=-1.9749$,与方程精确解$x=-2$接近。
Matlab程序如下:
|
|
此程序来自图书
