RSolve :: conarg:参数应该一致地排序

时间:2013-07-09 17:11:48

标签: wolfram-mathematica

我想求一个递推方程,其中函数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不喜欢这样。

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

提前致谢。

此致 西尔维奥

1 个答案:

答案 0 :(得分: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并不熟悉,如果有一些技巧可以哄骗它自动生成它。