首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何让netwire网络在一组离散的瞬间上模拟执行?

我如何让netwire网络在一组离散的瞬间上模拟执行?
EN

Stack Overflow用户
提问于 2012-10-26 21:58:02
回答 1查看 167关注 0票数 3

我一直在考虑使用netwire,但看不到如何通过一系列不依赖于实际时间的连接来传递瞬间。也就是说,是否有某种方法可以获取类型为Wire e m a b的连接和类型为[(Time, a)]的变量,并返回类型为[b]的内容?示例中的一切似乎都是为了让实时时钟生成瞬间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-27 00:11:03

看一看Control.Wire.Session模块。在那里您将找到构建您自己的时钟的实用程序。特别是,您将需要查看Session数据类型和genSession助手函数。这是关于时钟的。第二个问题是输入:传递给一个实例的输入是由主循环的作者决定的。

事实上,如果你只有一个包含输入的时间列表,我建议你计算时间增量,然后直接使用stepWire (而不是stepSession),绕过整个会话机制。唯一的限制是time的类型始终是Double。示例:

代码语言:javascript
复制
loop :: [(Time, a)] -> Time -> Wire e m a b -> m [Either e b]
loop [] _ _ = return []
loop ((t, x):ins) t' w' = do
    (mx, w) <- stepWire w' (t - t') x
    fmap (mx:) (loop ins t w)

未经测试的代码,但应该可以工作。第二个参数是开始时间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13088329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档