<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

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

    sicp習題1.35和1.36解答

    Posted on 2007-05-15 18:44 dennis 閱讀(715) 評論(0)  編輯  收藏 所屬分類: 計算機科學與基礎
        本節內容介紹了將高階過程用于一般性過程,舉了兩個例子:區間折半查找方程根和找出函數不動點。習題也是圍繞這兩個問題展開。今天工作上遇到了比較郁悶的事情,這周末確定要加班,心情實在糟糕!-_-,先做兩題吧,有空再繼續。

    習題1.35,證明黃金分割率φ是變換x->x+1/x的不動點,并利用這個事實通過過程fixed-point計算出φ 值。

    這道題目很簡單了,根據黃金分割的定義,φ滿足方程:φ的平方=φ+1;兩邊同除以φ,得到方程:
    φ=φ+1/φ。根據函數不動點定義f(x)=x,可以得到φ就是變換x->x+1/x的不動點。利用fixed-point過程寫出:
    (fixed-point (lambda (x) (+ x (/ 1 x))) 1.0)

    習題1.36解答:
    首先修改fixed-point過程,使它輸出每次猜測的近似值:
    (define tolerance 0.00001)
    (define (
    close-enough? v1 v2) (< (abs (- v1 v2)) tolerance))
    (define (try f guess)
      (newline)
      (display guess)
      (let ((
    next (f guess)))
         (
    if (close-enough? guess next)
            
    next
            (try f 
    next))))
    (define (fixed
    -point f first-guess)
        (try f first
    -guess))
    使用了newline和display基本過程,然后要求x->log(1000)/log(x)的不動點,并比較平均阻尼方式和非平均阻尼方式的計算步數。
    首先,請看非平均阻尼方式(直接看截圖了),我們以2作為初始猜測值:

    可以看到,非平均阻尼方式執行了33步才計算出了x值。

    再看平均阻尼方式,方程x=log(1000)/log(x)可以轉化為:
    x=(1/2)(x+log(1000)/log(x))

    看看結果:

    僅僅執行了9步就完成了計算,大概是非平均阻尼方式的1/3(在不同機器上可能結果不同,可平均阻尼一定快于不用平均阻尼)。

    由此可見:使用平均阻尼技術比不用平均阻尼技術收斂的快得多。

    主站蜘蛛池模板: 亚洲中文字幕日产乱码高清app| 国产一级特黄高清免费大片| 黄网站色视频免费在线观看的a站最新| 久久久久久国产a免费观看不卡| 毛片在线全部免费观看| 亚洲人成网站在线播放vr| 亚洲熟妇无码久久精品| 亚洲中文字幕久久精品蜜桃| 国产精品亚洲五月天高清| 美女网站在线观看视频免费的 | 亚洲天堂一区在线| 黄页网站在线视频免费| 无码国产精品一区二区免费模式 | 久久亚洲AV成人无码国产电影 | 亚洲av无码一区二区三区不卡 | 中文字幕无码精品亚洲资源网| 亚洲视频在线观看免费视频| 羞羞网站免费观看| 亚洲午夜无码片在线观看影院猛 | 国内精自视频品线六区免费| 国产成人免费手机在线观看视频| 亚洲av无码不卡一区二区三区| 无码人妻精品中文字幕免费| 亚洲视频在线观看免费视频| 99久久免费精品国产72精品九九| 日韩亚洲欧洲在线com91tv| 一级特级aaaa毛片免费观看 | 国产一区二区三区在线免费观看 | 老司机午夜免费视频| 久久久久亚洲AV无码专区网站 | 亚洲爆乳无码专区www| 国产人在线成免费视频| 亚洲国产精品自在在线观看| 无人视频在线观看免费播放影院| 免费A级毛片无码免费视| 国产天堂亚洲精品| 久久丫精品国产亚洲av| 日本在线看片免费人成视频1000| 亚洲无人区一区二区三区| 最近高清中文字幕免费| 亚洲a在线视频视频|