小编Vic*_*din的帖子

计算Haskell中的递归关系

问候,StackOverflow.

假设我有两个以下的计算S(i,j)的递归关系

S_ {i,j + 1} = X_ {PA} S_ {i,j} +\frac {1} {2p}(iS_ {i-1,j} + jS_ {i,j-1})\\ S_ {i + 1,j} = X_ {PB} S_ {i,j} +\frac {1} {2p}(iS_ {i-1,j} + jS_ {i,j-1})

我想以渐近最优的方式计算值S(0,0),S(0,1),S(1,0),S(2,0)等.几分钟的铅笔和纸张显示它展现成树状结构,可以通过几种方式横向移动.现在,以后树不太可能有用,所以现在我想生成嵌套列表[[S(00)],[S(10),S(01)],[S(20),S(21),S(12),S(02)],...].我创建了一个函数来生成一个S(i,0)(或S(0,j)的平面列表,具体取决于第一个参数):

osrr xpa p predexp = os00 : os00 * (xpa + rp) : zipWith3 osrr' [1..] (tail osrr) osrr
  where
    osrr' n a b = xpa * a + rp * n * b
    os00  = sqrt (pi/p) * predexp
    rp    = recip (2*p)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何继续前进.

recursion recurrence haskell

4
推荐指数
1
解决办法
486
查看次数

标签 统计

haskell ×1

recurrence ×1

recursion ×1