数值积分(三):数值积分
数值积分的任务计算定积分时,首先会想到积分的定义
Definition 3.1
I=\int^b_af(x)\mathrm{d}x=\lim_{h\to\infty}\sum^N_{j=0}f(x_j)h\tag{3.1}
其中 $N=\dfrac{b-a}{h}$ .
因此可以认为定积分就是将计算区域内的一个个矩形面积累加. 对于任意剖分计算区域,也可以写成如下的形式
Q[f]=\sum^N_{j=0}w_jf(x_j)\tag{3.2}因此积分可以写成
\int^b_af(x)\mathrm{d}x=Q[f]+E[f]\tag{3.3}其中 $E[f]$ 是数值计算近似值和真值之间的误差,主要源自截断误差.
用多项式 $P_n$ 对 $f(x)$ 拟合,很自然的就可以得到 Newton-Cotes 公式 .
P_n=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_0\tag{3.4}此时截断误差即可近似于多项式的第 n+1 次微分
E[f]=A\dfrac{\mathrm{d}^{n+1}f(\xi)}{\mathrm{d}x^{n+1}}\tag{3.5}其中 $A ...
数值积分(二):数值微分的误差
数值舍入造成的误差当步长 $\Delta x\to0$ 时,截断误差理应减小,然而这是忽略舍入误差的情况.
大多数的计算中,使用的 double 型数据为 16 字节,在数值计算中舍入造成的误差不可忽略.
考虑下面这个一阶导数的近似值
\dfrac{\mathrm{d}y}{\mathrm{d}x}=\dfrac{y(x+\Delta x)-y(x-\Delta x)}{2\Delta x}+\varepsilon(y(x),\Delta x)\tag{2.1}其中的 $\varepsilon(y(x),\Delta x)$ 就是估算的截断误差. 在计算机上求解时,会产生舍入误差
y(x+\Delta x)=Y(x+\Delta x)+e(x+\Delta x)\tag{2.2a}y(x-\Delta x)=Y(x-\Delta x)+e(x-\Delta x)\tag{2.2b}其中 $Y$ 是计算机给出的近似值,$e$ 是近似值与真值之间的误差值.
同时考虑 $e$ 和 $\varepsilon$ ,式 (2.1) 就可以写成
\dfrac{\mathrm{d}y}{\mathrm ...
数值积分(一):数值微分
一阶导数的二阶精度中心差分公式近似对 $f(x+\Delta x)$ 作 Taylor 展开得到
f(x+\Delta x)=f(x)+\Delta x\dfrac{\mathrm{d}f(x)}{\mathrm{d}x}+\dfrac{\Delta x^2}{2!}\dfrac{\mathrm{d}^2f(x)}{\mathrm{d}x^2}+\dfrac{\Delta x^3}{3!}\dfrac{\mathrm{d}^3f(\xi_1)}{\mathrm{d}x^3}\tag{1.1}其中 $\xi_1\in(x,x+\Delta x)$ .
对 $f(x-\Delta x)$ 作 Taylor 展开得到
f(x-\Delta x)=f(x)-\Delta x\dfrac{\mathrm{d}f(x)}{\mathrm{d}x}+\dfrac{\Delta x^2}{2!}\dfrac{\mathrm{d}^2f(x)}{\mathrm{d}x^2}- \dfrac{\Delta x^3}{3!}\dfrac{\mathrm{d}^3f(\xi_2)}{\mathrm{d}x^3 ...