
60
|
第二章
[Page-060]
討論說明
如果你想得到迭代過程的中間值,此時可使用
NestList
指令。假設你想得到幾何形狀的
旋轉過程圖形,可使用
NestList
指令進行旋轉與位移的迭代,以下以正方形加上一頂點
作為初始的幾何圖形,持續旋轉
d
角度直到超過
2Pi
(360 度)為止。
NestWhile
與
NestWhileList
指令分別推廣自
Nest
與
NestList
指令,它們增加了測試條
件作為判斷迭代繼續運行的依據,除此之外,也可以指定迭代次數的上限。以下範例為
旅行推銷員問題(traveling salesperson problem)的應用,此問題搜尋一個旅行路徑小
於某個指定的距離,旅行路徑應遊歷每個城市並回到起始地點,每個城市以數字 1 至
n
代表,城市間的距離以一稀疏矩陣表示。
ch02.indd 60 2014/4/2 上午 03:32:31