莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          scip習題1.7解答

          Posted on 2007-05-08 17:08 dennis 閱讀(1073) 評論(0)  編輯  收藏 所屬分類: 計算機科學與基礎
              綜合了習題1.6提出的誤差過大問題,采用相對誤差進行求值,題目是要求使用牛頓近似求立方根公式寫出scheme過程:
          (define (square x) (* x x))
          (define (divided_by_3 x y)(
          / (+ x y) 3))
          (define (improve guess x)
                  (divided_by_3 (
          / x (square guess)) (* 2 guess)))
          (define constant 
          0.0001)
          (define (good_enough
          ? old_guess guess)
                  (
          < (abs (/ (- guess old_guess) guess)) constant)) 
          (define (curt old_guess guess x)
                  (
          if (good_enough? old_guess guess)
                       guess
                      (curt guess (improve guess x) x)))
          (define (simple_curt x)(curt 
          0.1 1 x))

          測試一下:

          > (simple_curt 27)
          3.0000000000000975834575646
          > (simple_curt 8)
          2.0000000000120622386311755
          > (simple_curt 9)
          2.0800838232385225245408740


          主站蜘蛛池模板: 安龙县| 民县| 台北县| 水城县| 尼玛县| 松溪县| 福贡县| 上高县| 赤水市| 沾益县| 苗栗县| 蒙城县| 武宣县| 大关县| 锦屏县| 正宁县| 伊宁县| 昭觉县| 吉隆县| 宝兴县| 尉氏县| 兰溪市| 长岭县| 时尚| 同德县| 博爱县| 柘荣县| 布尔津县| 综艺| 祥云县| 昆山市| 合川市| 遂昌县| 新巴尔虎左旗| 沈丘县| 安国市| 江源县| 贵定县| 日喀则市| 五大连池市| 丹巴县|