在笔者大二的时候接触了这门“数值计算方法”。整体上考查的内容不是特别难,但是因为知识点比较细碎和繁杂,于是在考前的时候把握什么是重点不是很轻松。下面是我结合一位大佬的笔记和老师的PPT自己做的期末复习知识点总结。在考前两天极限冲刺的时间内进行的总结难免会有一些错漏之处,还请各位多多包涵~
误差
误差的分类
方法误差/截断误差:当实际问题的数学模型很复杂,不能获取模型的精确解,必须提供近似解,模型的准确解与数值方法准确解之差称为截断误差或方法误差。
模型准确值与实际值。
舍入误差:用有限位小数来代替无穷小数或用位数较少的小数来代替位数较多的有限小数所产生的误差。
只取有限位数
绝对误差(误差):绝对误差简称误差。设x是准确值,x*为x的一个近似值,则近似值x的绝对误差为e(x)。
绝对误差限:绝对误差的绝对值不超过某个正数ε,即|x-x*|≤ε,x落在[x-ε,x+ε]范围内。这个正数ε就是绝对误差限。
相对误差:设x为准确值,x_是近似值,e_是近似值的绝对误差,则ε/x为该近似值的相对误差,记作er*。
相对误差限:相对误差的值不超过某个正数,即|(x-x*)/x|≤εr,这个正数εr就是相对误差限。
从另一个角度来说就是相对误差限和绝对误差限的关系
有效数字
如果x*近似表示x准确到小数后第n位,并从x *第n位起直到最左边的非零数字之间的一切数字都称为有效数字,并把有效数字的位数称为有效位数。
在1/2中也存在着一个小数位数:
规格化形式:
!!有效数字与绝对误差的关系: (注意m与n的含义)
注意,是相对误差限,而不是单纯的相对误差;而且只取第一位的数字参与计算
当出现仅已知近似值的计算问题时,一般采用下面的公式:
!!有效数字与相对误差的关系:
有效数字与相对误差的关系是一个非常重要的考点↑
2.数值计算需要遵循的原则
i. 要使用数值稳定的算法,防止出现病态问题。
ii. 避免两个相似数相减,需进行等价变换。
iii. 绝对值太小的数不适合作为除数。
iv. 避免大数吃小数的现象。
v. 先化简再进行计算,避免误差的持续积累。
vi. 可以利用算法的递推性,简化结构并节省计算量。
(经常会出现在修改式子的题目中)
二.插值与拟合
n+1个求积结点的插值型求积公式至少具有n次代数精度
1.Lagrange插值
一阶Lagrange插值称为一次线性Lagrange插值。其线性插值基函数和一次插值函数表达式分别为:
二阶Lagrange插值称为二次抛物Lagrange插值。其插值基函数和插值函数表达式分别为:
有一个帮助记忆的方法:系数的分子带入要使除了对应下标的x带入外,其余的x带入的结果都为0
2.Newton插值
Newton插值法:
重要:注意只取对角线上的差商
第一项不包含x,可以理解为相当于用插值项来拟合f(x)
∴给定几个点的f(x)值,对应可以得到n-1阶的商差(也可以使用上面的原因解释)
3.Hermite插值
n个插值结点的精度为2n+1
要求 插值 多项式 的函数值与原函数值相同。 同时还要求在节点处,插值多项式的一阶直至指定阶的导数值,也与被插函数的相应阶导数值相等
常用的2点3式Hermite插值公式:记公式即可
4.分段插值与样条插值
三次样条插值:(只是为了研究隆贝格现象才研究的,不是考点)
尽管三次样条函数S(x)与分段Hermite插值函数具有很多共同点,但三次样条与分段Hermite插值有着本质区别:三次样条函数S(x)自身是光滑的,除了两个端点外其不需要知道 f 的导数值;而分段Hermite插值则完全依赖于f 在所有插值点的导数值。
而分段Hermite插值则完全依赖于f 在所有插值点的导数值。
三次样条插值一定满足以下条件:
5.误差分析:
由此公式可以导出Lagrange插值、Newton插值、Hermite插值等插值公式的误差估计公式:
1.Lagrange插值的误差估计:
2.Newton插值的误差估计:
3.Hermite插值的误差估计:
易知两点三次Hermite插值的误差估计:
4.分段插值的误差估计:
6.曲线拟合
简而言之就是使得总体的误差最小;并且还要考虑到所有组成的基函数线性无关:采用最简单的多项式
曲线拟合的最小二乘法的误差判断准则为误差的平方和最小
结合例题更好理解:
此处计算可以借助计算器,最好保留到小数点后3位
具体有几个基函数要根据描点在图像中呈现的样式来确定,比如说,如果图像描点像抛物线,那么应该有3个基函数:1,t,t^2;同时正规方程组 为3元3次
三.数值微积分
对被积函数进行一个插值近似,如lagrange插值多项式。
其中,xk为求积结点,Ak 为求积系数,R(f) 为求积公式的余项。
1.梯形公式与中矩形公式
定义:如果某个求积公式对于次数不大于m的多项式均能准确的成立,
则称该求积公式具有m次代数精度.
定理:含有 n+1 个节点的插值型数值积分公式的代数精度 至少为 n 。
梯形公式:(两点,n=1时具有一次代数精度)
梯形公式的余项:
中矩形公式:
2.Simpson公式
Simpson公式(三点,n=2时具有三次代数精度):(也是不清楚为什么会是3次代数精度的)
↑取平均也是一个大概是f(x)的数值,1/6*(6份f(x)相加)
是在a,b,(a+b)/2三点的加权平均值
Simpson公式的余项:
3.Cotes公式
Cotes系数表:
牛顿-柯斯特求积公式是插值型求积公式的特殊形式,在插值型求积公式中所取节点是等距时称为牛顿-柯斯特公式。
Cotes公式的余项:
当n为奇数时,Cotes公式具有n次代数精度;当n为偶数时,Cotes公式具有n+1次代数精度。
为了更高的精度,通常我们选取n=4时的Cotes公式使用,其具有5次代数精度:
—》cotes所有的系数求和值=1(分母统一为90进行记忆:7 32 12 32 7)
4.复化求积公式
4.1 复化梯形公式
将求积区间分成n个小区间,之后在每个小区间上分别用梯形公式求积,再将结果累加起来,就可以得到复化梯形公式。
复化梯形公式的余项为:
复化梯形公式的算法如下:
y = (h/2)* (f(a)+2 * T+f(b))# 分成的n个梯形中,除了两端的点其余的梯形边都有 重合,因此需要* 2
![[Pasted image 20240113144924.png]]
4.2 复化Simpson公式
复化Simpson公式:
复化Simpson公式的余项为:
复化Simpson公式的算法如下:
for i in range(1,n):
S1 += f(a+i*h+h/2)
S2 += f(a+i*h)
S = (h/6)*(f(a)+4*S1+2*S2+f(b))//4*部分为中点原倍数,而2*部分为相邻梯形边重合的部分
5.变步长梯形公式
变步长的梯形求积算法的实现步骤:
本质上还是梯形求积公式
定步长复化求积公式的一个明显缺点是:事先很难估计分划数n使结果达到预期精度。由于适当加密分点,精度会有所改善,为此采用自动加密分点的方法,并利用事后估计来控制加密次数,以判断是否达到预期精度,从而停止计算。
对所有已存在的子区间进行二分化,区间数由n变为2n
利用区间数为n时的积分值Tn以及新增的节点(即原来各子区间的中点)递推出区间数为2n时的积分值T2n
利用两次计算结果的差来估计误差,直到满足精度
代码理解
6.Romberg公式
Romberg求积法的基本思想是通过低阶的公式组合成高阶公式。在变步长的过程中运用Romberg公式,就能将粗糙的梯形值Tn逐步加工成精度较高的Simpson值Sn、Cotes值Cn和Romberg值Rn;或者说,将收敛缓慢的梯形值序列Tn加工成收敛迅速的Romberg值序列Rn,这种加速方法称为Romberg算法。
龙贝格公式如下:
Romberg求积算法的步骤如下:加速公式!
加速公式的右侧分母系数为n^2-1
7高斯公式
Newton-Cotes求积公式是等距节点,n+1个节点,代数精度至少是n次。
那么同样的节点数,不采用等距分布,精度能否提高?引出了高斯求积分公式
Gauss型求积公式 就是 尽可能地提升代数精度 ,如果将区间分为 n 份,那么就有 2n+2个未知数,代数精度至少为2n+1
具有最高代数精度(2n+1)次的求积公式 叫 Gauss型求积公式 ,相应的求积节点叫 Gauss点 。
7.1 Gauss-Legendre求积公式
Gauss-Legendre公式的适用区间为[-1,1],如果积分区间不是[-1,1],则需要经过变换才能使用。
若积分区间为[a,b],则变换为标准形式的方法为:
tips:求导的时候前面的系数是因为为了满足复合函数的求导法则
我们最常用的是两点和三点Gauss-Legendre公式:
两点公式: (后面的x应该为正)
三点公式:
设xk为点的横坐标,Ak为f(xk)的前面的系数,则Gauss-Legendre公式的节点数n(两点公式的n=1,三点公式的n=2)和系数之间的对应表如下:
7.2 Gauss-Chebyshev求积公式
n+1次Chebyshev多项式的零点Xk的值为:
以Xk为Gauss点,结合此Gauss点的基函数Lk(x),可得出系数Ak的值为:
Gauss-Chebyshev求积公式为:
常用的有n=1和n=2时的Gauss-Chebyshev求积公式(分别对应2点和3点):
强烈建议记公式即可
!!左侧的积分函数是f(x)和___(打不出来)权函数相乘的结果
注意与f(x)对应的具体函数式的存在……
8.数值微分
8.1 两点公式
向前差商公式:
向后差商公式:
中间差商公式:
8.2 三点公式
三点公式:
在对三个点中每一个具体的点求导即二阶导的时候,只需要将t = 0,1,2分别代入即可
P2的本质是二阶的拉格朗日插值,求导即可
可以用来求导
四.非线性方程
非线性方程包括了高次代数方程和超越方程,使用常规方法解非线性方程比较困难,想要用计算机解非线性方程只能使用特殊的算法。
1.二分法
它的缺点是不能求偶数重根,也不能求复根,收敛速度与以为公比的等比数列相同,不算太快,因此一般在求方程近似根时,不太单独使用,常用它来为其它方法求方程近似根提供好的初始值。其步骤如下:
二分法的误差估计为:
若给定了精度ε,则其二分次数n满足:
二分法函数的误差为:f(mid)
2.迭代法
所谓迭代法就是用某种收敛于所给问题的精确解的极限过程,来逐步逼近的一种计算方法,从而可以用有限个步骤算出精确解的具有指定精度的近似解,简单说迭代法是一种逐步逼近的方法。
迭代法的算法思想如下:
迭代法的精度要求由前一次 和 近一次的x之差来表示。
或者说迭代到在规定的小数位数情况下数值没有再发生变化。
abs(x1-x0)<=0.0001 # 0.0001为误差或者精度要求
迭代过程的收敛条件:
则φ(x)在[a,b]上存在唯一的解x*,且对于任意的初值x0,迭代值收敛于x*。
通俗一点说就是:①迭代函数在某区间内的值都位于该区间内,②且其迭代函数的一阶导数在此区间内的值的绝对值一定都小于一个小于1的正数,则这个迭代序列收敛。
压缩映像原理:
若某迭代函数在某区间内的值都位于该区间内,且满足李普希斯条件:若对任意的x1,x2∈[a,b]都满足|φ(x1)-φ(x2)|≤L|x1-x2|,且李普希斯常数L∈[0,1]。则迭代方程在[a,b]上有唯一解x*,迭代数列收敛,L数值越小收敛越快,并且存在误差估计:
局部收敛性:
若迭代函数φ(x)在不动点x_的邻域内存在连续导数,并且|φ’(x)|<1,则φ(x)在x_邻域内具有局部收敛性。
收敛阶( p ):
若p=1,则为一阶收敛(线性收敛)。
若p=2,则为二阶收敛(平方收敛)。
若1<p<2,则为超线性收敛。
可见,收敛阶p值越大,其收敛速度越快。
3.Newton迭代法
Newton迭代法的前提是f’(x)≠0,其核心思想是将非线性方程线性化,以线性方程的解逼近非线性方程的解,其具有局部收敛性,且至少具有平方收敛速度。
Newton迭代法迭代公式:
Newton迭代法的几何意义:
迭代法一般通过相邻的两次迭代 结果之差的绝对值来近似于解的误差
设f(x*)=0,f’(x)≠0,则x_是f(x)=0的单根。
Newton迭代法的收敛性完全依赖于x0的选取,x0要求初值充分接近根以保证其局部收敛性。
全局收敛性定理:
满足全局收敛性定理有以下四种情况:
利用迭代法求平方根:
4.弦截法
4.1 单点弦截法
单点弦截法迭代公式:
4.2 两点弦截法
两点弦截法迭代公式:
与Newton迭代法相比,单点弦截法的收敛速度一般是线性的,其低于Newton法。两点弦截法的收敛速度也是比较快的,接近Newton法,但需要提供两个初始值。通过证明可知,两点弦截法具有超线性收敛速度。
双点弦截法就是将单点弦截法的不动点换为第(n-1)个弦截点
五、解线性代数方程组的直接法
最大行绝对值之和
最大列绝对值之和
A{T}A = 对称矩阵,n个实数特征值中最大的值,开方得到
谱半径:矩阵的最大特征值即为谱半径
判断迭代矩阵是否收敛:
1.是否是严格对角占优矩阵
2.迭代矩阵的范数<1
3.迭代矩阵的谱半径<1
高斯消去法
消去法
消去法的基本思想是,通过将一个方程乘或除以某个常数,以及将两个方程相加减这两种手续,逐步减少方程中的变元的数目,从而得出所求的解。
掌握使用增广法来求解方程组即可以应付一般的考试
高斯主元素消去法
高斯列主元素消去法
交换行,避免绝对值小的主元作除数。(列主元素法)
行的交换,不改变方程的解,但是可以化简运算
高斯——约当消去法
无回代过程的高斯消元法
三角分解法
简而言之,L是一个对角为1、下三角形为对应方程组化简系数的矩阵;而U是对应方程组化简后的系数方程
LU分解
杜立特分解
LU 分解的紧凑格式(杜立特Doolittle分解法)
计算时先计算行后计算列
计算完成L和U后,按照下面的步骤:
奇异是线性代数的概念,就是对应的行列式等于0的矩阵,反之则为非奇异矩阵
Crout分解
LDU分解
大致的知识点就是上面这些啦!╰(°▽°)╯
大佬原文链接在此:https://blog.csdn.net/JeronZhou/article/details/109633540?spm=1001.2014.3001.5506