绝对和绝对相对误差(数值误差)

时间:2012-12-02 11:46:59

标签: relative absolute numerical-methods numerical-stability

我想了解绝对和相对错误如何编写代码。

假设我们有x1*=4.54 x2*=3.00x3*=15.0,准确度:3位数 我们如何定义:   一个。 x1*-x2*+x3*
的绝对误差   湾x1*x2*/x3*的绝对相对误差   C。 a和b中的准确度。

试图理解: 一个。     | E1 |&LT = 0.5 * 10 ^( - 3)

|e2|<=0.5*10^(-3)

|e3|<=0.5*10^(-3)

或     | E1 |&LT = 0.5 * 10 ^( - 2)

|e2|<=0.5*10^(-2)

|e3|<=0.5*10^(-1)

然后|e|<=|e1|+|e2|+|e3|=(15+4+3)*0.5*10^(-3)|r|<=|r1|+|r2|+|r3|=|e1/x1*|+|e2/x2*|+|e3/x3*|

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。当然,您无法找到实际错误,因为您不知道实际值。因此,您希望约束错误。首先请注意,我们正在讨论舍入误差(正如您所做的那样),因此每个变量可以关闭的最大值是其精度的0.5,即

|电子<子> 1 | &lt; = 0.005

|电子<子> 2 | &lt; = 0.005

|电子<子> 3 | &lt; = 0.05

对于x 1 -x 2 + x 3 的绝对误差,最坏的情况是所有误差都线性地加在一起,即:

|电子<子> 123 | &lt; = 0.005 + 0.005 + 0.05 = 0.06。

因为它是绝对错误,所以您不必按x 1 ...的实际值重新缩放。

对于(x 1 x 2 )/ x 3 的相对误差,它有点复杂 - 你必须要实际传播(乘)出错误。但是,如果您假设误差远小于该值,即| e 1 | &LT;&LT; x 1 (这是一个很好的近似),然后你得到你在'b'中使用的等式:

| R | = | r 123 /(x 1 x 2 / x 3 )| 〜&LT; |电子<子> 1 / X <子> 1 | + | e 2 / x 2 | + | e 3 / x 3 |

因为这是相对错误,所以必须按实际值重新缩放错误。

所以,总的来说,你只是做得对 - 只是absolute error的一点点麻烦。