0

我想了解绝对和相对错误是如何工作的,以便编写一些代码。

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

试图理解:a。|e1|<=0.5*10^(-3)

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

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

或 |e1|<=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) b。|r|<=|r1|+|r2|+|r3|=|e1/x1*|+|e2/x2*|+|e3/x3*|

4

1 回答 1

0

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

|e 1 | <= 0.005

|e 2 | <= 0.005

|e 3 | <= 0.05

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

|e 123 | <= 0.005+0.005+0.05 = 0.06。

因为这是绝对错误,所以您不必根据 x 1 ... 的实际值重新调整比例。

对于 (x 1 x 2 )/x 3的相对误差,它有点复杂——你必须实际传播(乘以)误差。但是,如果您假设误差远小于该值,即 |e 1 | << x 1(在这种情况下这是一个很好的近似值),然后你会得到你在“b”中使用的方程:

|r| = |r 123 / (x 1 x 2 /x 3 ) | ~< |e 1 /x 1 | + |e 2 /x 2 | + |e 3 /x 3 |

因为这是相对误差,所以您必须根据实际值重新调整误差。

所以,总的来说,你做对了——只是在absolute error.

于 2013-01-03T18:40:03.507 回答