0

コードを書くために、絶対誤差と相対誤差がどのように機能するかを理解したいと思います。

と があるとしx1*=4.54 x2*=3.00ますx3*=15.0。精度は 3 桁です。
どのように定義するか: x1*-x2*+x3*
bの絶対誤差。x1*x2*/x3* cの絶対相対誤差。aとbの精度。

意味をなそうとしている: |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 に答える