1

我想求解一个递归方程,其中函数 k 的所有三个参数都是整数并且介于 0 和 n 之间。

RSolve[{k[n, xp, x] == k[n - 1, n - 1, x]/k[n - 1, xp, n-1], k[0, xp, x] == k0[xp, x]}, k[n, xp, x], {n, xp, x}]

不幸的是,我收到此功能的错误:

RSolve::conarg: The arguments should be ordered consistently. 

在等式的右侧,我使用 n-1 作为第二个参数,这似乎有问题。这是正确的,但 Mathematica 不喜欢这样。

你有解决这个问题的方法吗?请注意,我写的方程式是用于显示问题的虚拟方程式,实际方程式更复杂。

提前致谢。

问候, 西尔维奥

4

1 回答 1

1

收回我的不当评论,我们可以手动解决这个问题:

ClearAll[k]
k[n_, xp_, x_] := k[n - 1, n - 1, x]/k[n - 1, xp, n - 1]
k[0, x_, xp_] = c0[{x, xp}]

给出数字 n 的结果:

k[5, y, z] -> (c0[{0, z}] c0[{4, 0}])/(c0[{0, 4}] c0[{y, 0}])

通过检查,一般结果是:

k[n, xp, x] == 
    k[0, 0, x]/ k[0, 0, n - 1] 
     ( k[0, n - 1, 0] /  k[0, xp, 0]   )^((-1)^(n + 1))

所以你需要所有这些 k[0,v,0] 和 k[0,0,v] 的初始值

我对 RSolve 不太熟悉,说是否有一些技巧可以诱使它自动生成。

于 2013-07-10T15:03:53.957 回答