sicp习题试解 (2.15)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

; ======================================================================

;

; Structure and Interpretation of Computer Programs

; (trial answer to excercises)

;

; 计算机程序的构造和解释(习题试解)

;

; created: code17 07/14/05

; modified:

; (保持内容完整不变前提下,可以任意转载)

; ======================================================================

;; SICP No.2.15

;; 不同误差产生的原因在于——

;; 同一个变元的多次出现,但每次出现却被当成独立变元来计算误差,因此同一个变元

;; 在不同位置取了不同的误差值。

;; 我们分析一个最简单的例子A-B, 设

;; Interval A = (a-wa. a+wa)

;; Interval B = (b-wb. b+wb)

;; 则A-B的最大值可以达到(a+wa)-(b-wb), 最小值可以达到(a-wa)-(b+wb),

;; 这当然没问题——但前提是A和B是独立变元,设想如果是这样一个公式 x-x,

;; 那么它的值是恒为0的,这就与我们的计算不同了,为什么?

;; 我们的算法认为减得的最大值应该是被减数取最大值而减数取最小值,但问题在于

;; 这里的被减数与减数不独立,当被减数x取最大值的时候,减数x也只能取同样的

;; 最大值而不可能取到最小值,这与独立变量间的运算是不同的。

;; x-x只是最简单的情况,换言之,任何两个表达之间的运算

;; A(...x...) op B(...x...) 含有共同变量,则均会产生这个问题。

;; 因此Eva Lu Ator的说法是对的,par2中每个独立变量只出现一次,当然会

;; 比par1的结果产生更紧的误差范围,也更合理。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航