Решение упражнения 2.14 из SICP
Действительно сначала попробуем повторить результаты Дайко экспериментально.
Создадим несколько интервалов в форме центр/проценты:
(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