计算机求导数的数学理论

对于解析函数,可以将其Taylor展开为: \[\begin{equation}\label{eq:taylor} f(x_{i+1})=f(x_i)+f'(x_i)h+\frac{f''(x_i)}{2}h^2+\cdots \end{equation}\] 现在据式\(\eqref{eq:taylor}\)来计算多阶导数,取近似到二阶项,则一阶导数为 \[\begin{equation}\label{eq:taylor1} f'(x_i)=\frac{f(x_{i+1})-f(x_i)}{h}+O(h) \end{equation}\] 将式\(\eqref{eq:taylor1}\)中的函数\(f\)替换为相应的导数\(f'\)得二阶导数,然后出现的一阶导数使用式\(\eqref{eq:taylor1}\)替换,从而得到二阶导数用零阶导数表达的算式 \[\begin{equation}\label{eq:taylor2} f''(x_i)=-\frac{f(x_{i+2})-2f(x_{i+1})+f(x_i)}{h^{2}}+O(h) \end{equation}\] 按前述方法可以求出任意阶导数使用零阶导数表达的算式,于是可以将式\(\eqref{eq:taylor}\)取更多的项以提高其导数\(f'(x_i)\)的精度,比如取到二阶项 \[\begin{equation}\label{eq:taylor3} f'(x_i)=\frac{f(x_{i+1})-f(x_i)}{h}-\frac{f(x_{i+2})-2f(x_{i+1})+f(x_i)}{2h^{2}}h+O(h^2) \end{equation}\] 化简式\(\eqref{eq:taylor3}\)\[\begin{equation}\label{eq:taylor4} f'(x_i)=\frac{-f(x_{i+2})+4f(x_{i+1})-3f(x_i)}{2h}+O(h^2) \end{equation}\]