1 误差传播与数值精度
有效数字,从首位非零数字开始计算位数。0.0925有3位有效数字,3.1416有5位有效数字。
避免误差传播的几种方法
- 避免极小值相减,例如
可替换为
- 简化计算步骤
- 防止出现机器零(过小)或溢出(过大)
2 线性方程组的解
Jacobi迭代法
有方程组Ax=b,方程组解的迭代公式如下,其中k表示迭代次数。
写成矩阵形式为
其中D,L,U的表示方式表示如下,A=D-L-U,而不是一般意义上的矩阵LU分解。
Gauss-Seidel迭代法
进一步的,从Jacobi迭代公式中的第二行开始,带入上面公式计算出的最新k次迭代数值,使收敛速度更快,形式如下
矩阵形式为
两种方法均收敛的充要条件为,系数矩阵严格对角占优
谱半径<1,对称正定也可以证明收敛,范数>1不代表发散。
3 函数插值法
拉格朗日插值与余项公式
线性插值公式
二次拉格朗日插值公式
插值余项
所以,当多项式次数不大于n次时,余项为0,
牛顿差商
1阶差商 | 二阶差商 | 三阶差商 | ... | ||
0 | ... | ||||
1 | ... | ||||
2 | ... | ||||
3 | ... | ||||
... | ... | ... | ... | ... | ... |
其中差商,
...
插值余项为
等距节点的插值用差分替换差商
Hermit插值与余项公式
在差商表算法基础上,加入导数值,x有一阶导数的,写两行f(x)。
余项为,
分段插值
为避免龙格现象,将高次多项式改为分段低次多项式插值
4 数值积分
代数精度
首先看一下数值积分公式,,令
,使得公式精确成立,而m+1次方不能精确成立,则代数精度就是m次。
复化梯形公式与余项
,余项为
,h为步长。
复化辛普森公式与余项
,余项为
Romberg算法
将步长逐次折半,反复使用复化求积,可算出10个数,推出Romberg算法,步骤如下
k | ||||
0 | ① | |||
1 | ② | ③ | ||
2 | ④ | ⑤ | ⑥ | |
3 | ⑦ | ⑧ | ⑨ | ⑩ |
,其中δ为新分点
5 非线性方程解
二分法
对于方程f(x)=0,f(a)>0,f(b)<0,那么a,b之间必有一个根,取a,b中点值f(x0),判断f(x0)的符号,如果>0,则根进一步缩小到[x0,b]的区间范围内,再一次取中点判断符号,这样逐步得到一个无限逼近的解,这个方法叫做二分法,二分法的缺点是不能求偶重根。
不动点迭代法
改造方程为x=g(x),从几何图形上分析,y=x与y=g(x)的交点即为原方程的根
,
...一步步迭代到逼近交点处,求得近似解。注意这里有一个适定性的概念,也就是说,当迭代序列不在解的取值范围内时,结果是不适定的,继续迭代只会越来越偏离。
牛顿法
有f(x)在x0处的Taylor公式可将发f(x)用导数近似,进而得出一个迭代公式
几何意义表示为经过f(x)初始某点的切线与x轴的交点作为f(x)的下一个迭代点