Решение упражнения 2.13 из SICP

21 January, 2008 (22:37) | Решения упражнений

В этом упражнении программирования не будет совсем. Скорее что-то близкое к физике. Но не расслабляйтесь.

Итак, пусть у нас есть два интервала: x с центром cx и погрешностью в процентах px и y с центром cy и погрешностью в процентах py. Обозначая интервал в виде заключенной в квадратные скобки упорядоченной пары левой и правой границ и переходя от представления центр-погрешность к представлению границами, получим следующее:

x = [cx – pxcx/100, cx + pxcx/100] = [cx (1 – px/100), cx (1 + px/100)],

y = [cy – pycy/100, cy + pycy/100] = [cy (1 – py/100), cy (1 + py/100)].

В предположении, что границы интервалов положительны, границы интервала x*y будут вычисляться как произведения соответствующих границ интервалов x и y, то есть:

x*y = [cx (1 – px/100) cy (1 – py/100), cx (1 + px/100) cy (1 + py/100)] = [cx cy (1 – px/100 – py/100 + pxpy/10000 ), cx cy (1 + px/100 + py/100 + pxpy/10000)].

Считая, что погрешности px/100 и py/100 малы, смело пренебрегаем их произведением, тогда

x*y ≈ [cx cy (1 – px/100 – py/100), cx cy (1 + px/100 + py/100)].

Вычисляя погрешность x*y в процентах по формуле, выведенной в упражнении 2.12, а именно p = (u – l) / (u + l) * 100, получаем:

pxy = ( cx cy (1 + px/100 + py/100) – cx cy (1 – px/100 – py/100) ) / ( cx cy (1 + px/100 + py/100) + cx cy (1 – px/100 – py/100) ) * 100 = 2 cx cy (px/100 + py/100) / 2 cx cy * 100 =  px + py.

Таким образом получаем весьма красивый результат: pxy ≈ px + py.

Comments

Pingback from SICP по-русски » Blog Archive » Решение упражнения 2.14 из SICP
Date: January 22, 2008, 8:44 pm

[…] SICP по-русски Структура и интерпретация компьютерных программ: заметки и решения « Решение упражнения 2.13 из SICP […]

Write a comment