SICP 习题 2.14 的题目要求并没有完全体现在题干中,这道题是和书中前面的内容相关的。
书中讲到,Alyssa做完了我们以前讨论的区间计算模块并发布出去了,然而,一段时间以后她接受到了来自一个叫做Lem的工程师的抱怨,这个叫做Lem的人应该是搞电路的,他用Alyssa的程序去计算两个电阻的并联电阻值,里面就使用了Alyssa设计的区间来表示一个电阻的电阻值。按照物理上的定律,并联电阻的公式是(R1*R2)/ (R1 + R2),或者使用1/(1/R1 + 1/R2),这两个公式不管从数学上来讲还是从物理上来讲都是等价的。不过。。。。如果使用Alyssa的区间进行计算的的话,上面两个公式得出的结果相差很大。
题目要求我们确认Lem是对的,这一点很容易做到,我们按上面的公式拿几个样例做多几个测试就好了,可以确认Lem是对的,

本篇博客探讨了SICP习题2.14中出现的问题,即Alyssa的区间计算模块在处理电阻并联公式时,由于区间相除的方式导致计算结果的不一致。通过样例测试,发现Lem的抱怨是正确的。关键错误在于区间相除时等价于求倒数再相乘,这产生了从0.5到2的区间,而非预期的1。此外,误差百分比的影响也被强调,如B(1000 1001)相除的例子,显示了误差百分比越小,偏差越小。博客旨在揭示复合数据计算中可能遇到的误差问题。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



