数值分析(1)-绪论:误差

整理一下数值分析的笔记~
目录:

1. 误差
2. 多项式插值与样条插值
3. 函数逼近
4. 数值积分与数值微分
5. 线性方程组的直接解法
6. 线性方程组的迭代解法
7. 非线性方程求根
8. 特征值和特征向量的计算
9. 常微分方程初值问题的数值解

1. 误差的分类和来源

模型误差实际问题和对其进行抽象、简化后得到的数学模型之间存在的误差
观测误差:由于精度的限制,观察和测量时候产生 的误差
舍入误差:计算机字长的限制,所能表示的数只能有有限的位数,后面的部分按照不同的舍入规则舍去而产生的误差
截断/方法误差:得不到精确解的数学模型通常用数值方法求近似解,二者之间的误差。通常是用有限过程对无穷进行截断,比如,f(x)用泰勒公式近似替代如下:
Pn(x)=f(0)+f′(0)1!x+f′′(0)1!x2+...+fn(0)n!xn P_n(x)=f(0)+\frac{f'(0)}{1!}x+\frac{f''(0)}{1!}x^2+...+\frac{f^{n}(0)}{n!}x^n Pn(x)=f(0)+1!f(0)x+1!f(0)x2+...+n!fn(0)xn

则截断误差为

Rn(x)=f(x)−Pn(x)=fn+1(ξ)(n+1)!xn+1,其中ξ∈(0,x)。 R_n(x)=f(x)-P_n(x)=\frac{f^{n+1}(\xi)}{(n+1)!}x^{n+1},其中 \xi \in(0,x)。 Rn(x)=f(x)Pn(x)=(n+1)!fn+1(ξ)xn+1,ξ(0,x)

2. 误差和误差限

定义1. 设x为准确值,x∗x^*x为x的一个近似值,称E(x∗)=x∗−xE(x^*)=x^*-xE(x)=xx为近似值的绝对误差,简称误差

实际上,准确值x通常无法求得甚至未知,因此E(x∗)E(x^*)E(x)往往也无法求得,只能知道其绝对值得某个上界ε(x∗)≥E(x∗)=∣x∗−x∣\varepsilon(x^*)\geq E(x^*)=|x^*-x|ε(x)E(x)=xx,数值ε(x∗)\varepsilon(x^*)ε(x)称为x∗x^*x的**(绝对)误差限**。
{一般地,凡是由准确值经过四舍五入得到的近似值,其绝对误差限等于该近似值末位的半个单位}

但是一个测量值的精确程度除了与绝对误差限有关外,还和该量的大小有关,由此引入相对误差限

定义2. 设x为准确值,x∗x^*x为x的一个近似值,称Er(x∗)=E(x∗)x=x∗−xxE_r(x^*)=\frac{E(x^*)}{x}=\frac{x^*-x}{x}Er(x)=xE(x)=xxx为近似值x∗x^*x的相对误差,简记为ErE_rErεr(x∗)≥∣Er(x∗)\varepsilon _r(x^*)\geq|E_r(x^*)εr(x)Er(x)x∗x^*x的相对误差限。

两种误差限的关系:εr=ε∣x∗∣\varepsilon _r=\frac{\varepsilon}{|x^*|}εr=xε

eg. 已知e=2.71828182…,近似值e∗e^*e=2.71828,则ε=∣e∗−e∣=0.00000182...≤0.000002=2×10−6,εr=ε∣e∗∣≈0.71×10−6\varepsilon=|e^*-e|=0.00000182...\leq0.000002=2 \times 10^{-6},\varepsilon_r=\frac{\varepsilon}{|e^*|}\approx0.71 \times10^{-6}ε=ee=0.00000182...0.000002=2×106,εr=eε0.71×106

3. 有效数字

定义3.若x∗x^*x作为x的近似值,其绝对误差的绝对值不超过某一位数字的半个单位,而该位数字到x∗x^*x的第一位非零数字共有n位,则称用x∗x^*x近似x时具有n位有效数字,简称x∗x^*x有n位有效数字。

有效数字与绝对误差限的关系

x的近似值x∗x^*x的规格化形式可以写为:

x∗=±0.a1a2...ak×10m x^*=\pm0.a_1a_2...a_k \times10^m x=±0.a1a2...ak×10m

其中m是整数,aia_iai是0-9中的一个数字且a1≠0a_1\neq 0a1̸=0,则x∗=±0.a1a2...ak×10m具有n位(n≤k)x^*=\pm0.a_1a_2...a_k \times10^m具有n位(n\leq k)x=±0.a1a2...ak×10mn(nk)有效数字当且仅当∣E∣=∣x∗−x∣≤0.5×10m−n|E|=|x^*-x|\leq 0.5 \times 10^{m-n}E=xx0.5×10mn。(可以看出有效数字越多,绝对误差越小)

有效数字与相对误差限的关系

x的近似值x∗x^*x的规格化形式可以写为:

x∗=±0.a1a2...ak×10m,a1≠0 x^*=\pm0.a_1a_2...a_k \times10^m,a_1 \neq0 x=±0.a1a2...ak×10m,a1̸=0

x∗x^*x有n位有效数字,则相对误差限:

er∗≤12a1×101−n e_r^*\leq \frac{1}{2a_1} \times 10^{1-n} er2a11×101n
反之,若x∗x^*x的相对误差限为

er∗≤12(a1+1)×101−n e_r^*\leq \frac{1}{2(a_1+1)} \times 10^{1-n} er2(a1+1)1×101n

4. 数值运算的误差估计

ε(x1∗±x2∗)=ε(x1∗)+ε(x2∗) \varepsilon(x_1^* \pm x_2^*)=\varepsilon(x_1^*)+\varepsilon(x_2^*) ε(x1±x2)=ε(x1)+ε(x2)ε(x1∗x2∗)≈∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗) \varepsilon(x_1^* x_2^*) \approx |x_1^*|\varepsilon(x_2^*)+|x_2^*|\varepsilon(x_1^*) ε(x1x2)x1ε(x2)+x2ε(x1)ε(x1∗/x2∗)≈∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)∣x2∗∣2 \varepsilon(x_1^* / x_2^*) \approx \frac{|x_1^*|\varepsilon(x_2^*)+|x_2^*|\varepsilon(x_1^*)}{|x_2^*|^2} ε(x1/x2)x22x1ε(x2)+x2ε(x1)

一般地,自变量有误差时,计算函数值也产生误差,误差限可利用函数的泰勒展开式进行估计,ε(f(x∗))=f(x)−f(x∗)=f′(x∗)(x−x∗)+f′′(ξ)2(x−x∗)2,其中ξ介于x和x∗之间\varepsilon(f(x^*))=f(x)-f(x^*)=f'(x^*)(x-x^*)+\frac{f''(\xi)}{2}(x-x^*)^2,其中\xi介于x和x^*之间ε(f(x))=f(x)f(x)=f(x)(xx)+2f(ξ)(xx)2,ξxx

取绝对值并假定f′(x∗)f'(x^*)f(x)f′′(x∗)f''(x^*)f(x)比值不大,忽略ε(x∗)\varepsilon(x^*)ε(x)的高阶项,有:

ε(f(x∗))≈∣f′(x∗)∣ε(x∗) \varepsilon(f(x^*)) \approx |f'(x^*)| \varepsilon(x^*) ε(f(x))f(x)ε(x)

多元函数同理。

5. 四则运算的稳定性问题

  • 防止大数吃小数(计算机位数有限造成) →\rarr求和时从小到大相加,可使和的误差减小
  • 做减法时避免相近数相减→\rarr使用有理化,三角变换等。
  • 避免小数作除数和大数作乘数。

6. 提高算法效率问题

6.1 减少运算次数(比如多项式计算的秦九韶算法)
6.2 病态问题:

定义:对数学问题本身如果输入数据有微小扰动,引起输出数据的很大扰动,即病态问题。

比如:计算函数值f(x),当x有扰动,δ=x−x∗\delta=x-x^*δ=xx,相对误差δx\frac{\delta}{x}xδ,函数值相对误差f(x)−f(x∗)f(x)\frac{f(x)-f(x^*)}{f(x)}f(x)f(x)f(x),相对误差比值为f(x)−f(x∗)f(x)δx≈f′(x)δf(x)δx≈xf′(x)f(x)=Cp\frac{\frac{f(x)-f(x^*)}{f(x)}}{\frac{\delta}{x}}\approx\frac{\frac{f'(x)\delta}{f(x)}}{\frac{\delta}{x}}\approx \frac{xf'(x)}{f(x)}=C_pxδf(x)f(x)f(x)xδf(x)f(x)δf(x)xf(x)=Cp

CpC_pCp称为计算函数值问题的条件数。

从上面的计算中可以看出,如果条件数很大(通常自变量相对误差不会太大)将会引起函数值相对误差很大 ,此时出现病态问题。


{持续更新}
欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值