如何深入理解SICP中描述的信号流程图



SICP第3.5.3章http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5.3

Streams as signals部分中,SICP通过反馈回路对Implicit style of definition进行了视听解释。但我想知道如何准确理解这个图表?真正的优势是什么?有什么背景知识吗?

举另一个例子,不是在Scheme中,而是在Haskell中:

fibs = fix (scanl (+) 0 . (1:))
fibs = fix ((0:) . scanl (+) 1)

我们也可以为任何一个绘制信号流程图。我们如何利用这些图表?

感谢您的建议和信息!

对于图表的真实视听解释,您为什么不看一下随附的视频呢?他们在这里,第6A讲和第6B讲。

至于图表的"真正优势",好吧,它们是流处理的视觉表示,理解它们不需要"背景知识",AFAIK这些图表的符号是SICP特质的一部分,通过阅读书籍和观看视频,你会知道关于它们的所有信息。

要在评论中回答您的问题,

Prelude> let bs = 1:map (n-> sum $ take (n+1) bs) ( map (`div`2) [1..])
Prelude> take 20 bs
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]
Prelude> let as = 1:1:g 2 (drop 2 as) where g x ~(a:b) = x:x:g(x+a)b
Prelude> take 20 as
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]
Prelude> take 20 $ map (n-> sum $ take (n+1) as) $ map (`div`2) [0..]
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]

相关内容

  • 没有找到相关文章

最新更新