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

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

Действительно сначала попробуем повторить результаты Дайко экспериментально.

Создадим несколько интервалов в форме центр/проценты:

(define r100p1 (make-center-percent 100 1)) 
(define r100p5 (make-center-percent 100 5)) 
(define r1000p1 (make-center-percent 1000 1)) 
(define r1000p5 (make-center-percent 1000 5))

Попробуем провести вычисления для них по двум алгебраически эквивалентным формулам, как это сделал Дайко:

> (par1 r100p1 r100p1) 
(48.51980198019802 . 51.52020202020203) 
> (par2 r100p1 r100p1) 
(49.49999999999999 . 50.5) 
> (par1 r100p1 r1000p5) 
(81.71155516941789 . 101.09628217349857) 
> (par2 r100p1 r1000p5) 
(89.6568160152526 . 92.13727193744569)

Действительно видим, что интервалы, получаемые по второй формуле, значительно уже, а значит она более точна. Однако мы забегаем вперед с оценкой точности. Пока что нас просто интересует тот факт, что вычисления по этим формулам дают разные результаты.

Поэкспериментируем с различными частными вида A/B и выведем для них погрешность в процентах:

> (percent (div-interval r100p5 r100p1)) 
5.997001499250379 
> (percent (div-interval r100p5 r100p5)) 
9.97506234413964 
> (percent (div-interval r100p1 r100p1)) 
1.9998000199980077 
> (percent (div-interval r100p1 r100p5)) 
5.997001499250369 
> (percent (div-interval r1000p1 r100p5)) 
5.997001499250374

На основании этих данных можно выдвинуть гипотезу о том, что погрешность частного приближенно равна сумме погрешностей делимого и делителя (подобно тому, как погрешность произведения приближенно равна сумме погрешностей множителей).

Comments

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

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

Write a comment