前言
大二下学期上的一门课,我们班主任教的。很惭愧,我翘了好多课,作业也基本是抄的
神奇的一点是,在考试前2天我花了约24小时的时间速通了复习课所讲的所有可能考的知识点,最后还提前交卷了
非常感谢老师捞我😭,也非常感谢 B 站上发教程的多位 Up 主😭
误差与有效数字
误差的来源
1)模型误差:建立数学模型时,对问题进行了简化,从而导致误差
2)观测误差:测量物理量时产生的误差
3)截断误差:在求解复杂问题时,需要用数值方法求近似解,进而产生截断误差
4)舍入误差:计算机的字长有限,会对有限位进行运算,导致舍入误差
误差与误差限
有效数字
误差的传播
误差的改善
拉格朗日插值
step1. 构造拉格朗日插值基函数
将所有Yi设为0,然后使其中一个Yi为1;找0点,设待定系数函数,从非零点求解待定系数。将所有Yi轮流设为1后,获得 i 个拉格朗日插值基函数
step2. 构造一般插值多项式
使用插值基函数来构造
线性插值与抛物线插值
线性插值:选 X1 Y1/ X2 Y2 两个点构造插值基函数,最终构造出的插值多项式是1次的
抛物线插值:选三个点构造插值基函数,最终构造出的插值多项式的2次的
插值余项
$W(x)=|(x-x_0)(x-x_1)…(x-x_n)|$
牛顿插值
step1. 计算牛顿均差(差商)
step2. 构造牛顿插值多项式
插商与导数
差商是导数的一种近似,当步长趋近于 0 且函数可导时,n阶差商趋近于 n阶导数
埃尔米特插值
对导数值有要求的插值统称Hermite插值问题
解决方式类似拉格朗日插值,都是求基函数然后构造一般插值多项式
分段低次插值
龙格现象
解决方法1:采用合适的节点分布,例如使用切比雪夫节点
解决方法2:使用分段低次插值
在每个区间上做线性插值多项式,最终的插值函数的图形是一条折线
余项
分段求拉格朗日插值的余项即可
或使用余项估计式
范数
向量范数
1范数为绝对值之和
2范数为向量的模
无穷范数为向量中绝对值的最大值
矩阵范数
1范数为列范数
2范数为$A^TA$的最大特征值开根号
无穷范数为行范数
函数范数
1范数为函数绝对值在规定范围的定积分
无穷范数为函数绝对值在规定范围的最大值
正交多项式
函数的内积:连续型内积
判断两个多项式在给定区间中是否正交:
给定区间即 [a,b],待入公式的积分上下限即可。对于给出的两个多项式,带到f(x),g(x)中即可,权函数题目会给
勒让德多项式
这是一个正交的多项式,勒让德多项式在区间 [−1,1] 上相对于权重函数 w(x)=1 是正交的
递归定义:
最佳平方逼近
利用勒让德多项式求最近平方逼近
step1. 求原函数与勒让德多项式的内积
step2. 求最佳平方逼近多项式系数
最小二乘法
其中$Yi = [x1^i, x2^i, …, xn^i]$ $f=[y1, y2, …, yn]$
$ai$ 是最终拟合多项式对应 $x^i$ 的系数
一次形式拟合
二次形式拟合
步骤与一次形式大同小异,解出 a0、a1、a2 即可
数值积分
常用求积公式
梯形/中矩形公式代数精度:1次
simpson公式代数精度:3次
截断误差:
Newton-Cotes公式
公式本体:$积分近似=(b-a)[k0f(x0) + k1f(x1) + … + kif(xi)]$
其中 $xi = a + ih$, $h = (b – a) / n$
n 可以理解为对积分区间分割的步数,n = 1 时,将积分区间分为 1 份:a ~ b,此时获得梯形求积公式
n = 2 时,将积分区间分为了 2 份:a ~ (a-b)/2 ~ b,此时获得simpson公式
ki 是与原函数形式无关的,我们将 ki 排列成表格,就获得了 Cotes 系数表
复化求积公式
即将积分区间分为若干段,对每段使用积分公式求积,然后累加
其截断误差也为每段截断误差的累加
数值微分
差商型
插值型
将原函数使用插值多项式近似,用插值多项式的导数来近似替代原函数的导数
高斯消元法
将方程组的增广矩阵化为下三角矩阵,然后简化求解
主元素消去法
是高斯消元的进阶方法
直接三角分解法(LU分解法)
step1. 画框,框左上设为”主元“
step2. 主元同行元素减去框外对应元素乘积,同列元素减去后再除以变化后的主元
step3. 向内缩框,重复步骤
step4. 写LU矩阵
Jocobi迭代法
将 $Ax = b$ 的矩阵化为 $x_{i+1} = Bx_i + g$
Gauss-Seidel迭代法
是 jocobi 迭代的改进
充分利用已经求解出的 $x_{i+1}$
迭代矩阵公式
L、U矩阵是 A 的上下三角矩阵,D矩阵是 A 矩阵的对角线矩阵,有 A = D + L + U
迭代法的收敛性判别
- 若 A 为严格对角占优,则 J 和 GS 迭代都收敛 (充分)
- 若存在迭代矩阵 B 的某种范数满足 || B || < 1,则 J 和 GS 迭代都收敛 (充分)
- 谱半径 < 1 则 J 和 GS 迭代都收敛 (充分必要)
严格对角占优
分为行对角占优和列对角占优
只需要找到矩阵的所有对角元素,然后和其“同行元素的绝对值的和”、“同列元素的绝对值的和”进行比较
若大于,则视为占优
谱半径
谱半径是迭代矩阵的特征值的最大值,$B_j$ 和 $B_{GS}$ 的谱半径要分开算
非线性方程求根的二分法
使用二分法的前提是有异号区间
重根判别:
非线性方程求根的牛顿迭代法
使用切线不断逼近零点
Euler 方法
已知条件:原函数的导数,原函数某点的函数值;要求原函数另外一点的值
我们通过差商来代替导数,来近似算出 $y_{n+1}$ 的值
我们定义 $h = x_{n+1} – x_n$ 为步长,可获得 Euler 方法的公式
Euler 方法的图像推导
容易推出:
可以看到有一个求积分的式子。对该式子使用求积公式,即可推导出不同的 Euler 公式
前进 Euler 公式:积分部分用左矩形公式近似
后退 Euler 公式:积分部分用右矩形公式近似
梯形 Euler 公式和改进 Euler 公式
梯形方法:更加精确,但是计算量上升了
改进 Euler 公式: