我想了解绝对和相对错误如何编写代码。
假设我们有x1*=4.54 x2*=3.00
和x3*=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*|
答案 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
的一点点麻烦。