Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica 数学中递推关系解析解的求解_Wolfram Mathematica - Fatal编程技术网

Wolfram mathematica 数学中递推关系解析解的求解

Wolfram mathematica 数学中递推关系解析解的求解,wolfram-mathematica,Wolfram Mathematica,我反复出现以下情况: RSolve[{f[m, n] == f[m, n - 1] + f[m - 1, n], f[0, n] == 1, f[m, 0] == 1}, f[m, n], {n}] 我尝试使用RSolve,但出现错误: RSolve::deqx: Supplied equations are not difference equations of the given functions. 谢谢你的帮助 不是答

我反复出现以下情况:

RSolve[{f[m, n] == f[m, n - 1] + f[m - 1, n], 
        f[0, n] == 1, f[m, 0] == 1}, 
        f[m, n], {n}]
我尝试使用RSolve,但出现错误:

RSolve::deqx: Supplied equations are not difference equations 
              of the given functions.

谢谢你的帮助

不是答案,但似乎正确的形式应该是(注意
{m,n}
结尾):


Mathematica未对此进行评估。我认为它不能解决这个问题。

差分方程和初始条件是

Mathematica(7和8)不喜欢解它。。。无论有无初始条件。RSolve表达式未赋值

In[1]:= RSolve[{f[m,n]==f[m,n-1]+f[m-1,n],f[0,n]==f[m,0]==1},f[m,n],{m,n}]
        RSolve[{f[m,n]==f[m,n-1]+f[m-1,n]},f[m,n],{m,n}]
Out[1]= RSolve[{f[m,n]==f[-1+m,n]+f[m,-1+n],f[0,n]==f[m,0]==1},f[m,n],{m,n}]
Out[2]= RSolve[{f[m,n]==f[-1+m,n]+f[m,-1+n]},f[m,n],{m,n}]
我使用(可能还有其他方法)来解决此类复发,但我不知道为什么在如此简单的情况下它会失败

让我们用手来做吧

设g(x,n)为f(m,n)的母函数

现在检查f(m+1,n)x^m的和

现在求解简单的代数差分方程:

也可以使用
RSolve

In[3]:= RSolve[g[x,n]-x g[x,n]==g[x,n-1]&&g[x,0]==1/(1-x),g[x,n],n];
        Simplify[%,Element[n,Integers]]
Out[4]= {{g[x,n]->(1-x)^(-1-n)}}
现在提取x^m的系数:

In[5]:= SeriesCoefficient[(1 - x)^(-1 - n), {x, 0, m}]
Out[5]= Piecewise[{{(-1)^m*Binomial[-1 - n, m], m >= 0}}, 0]
二项式使用

In[6]:= FullSimplify[(-1)^m*Binomial[-n - 1, m] == Binomial[m + n, m], Element[{n,m}, Integers]&&m>0&&n>0 ]
Out[6]= True
所以我们终于得到了

这可以使用符号和数字方式进行检查

In[7]:= ff[m_,n_]:=ff[m,n]=ff[m-1,n]+ff[m,n-1]
        ff[0,_]:=1;ff[_,0]:=1
In[9]:= And@@Flatten[Table[ff[m,n]==Binomial[n+m,m],{n,0,20},{m,0,20}]]
Out[9]= True

In[10]:= {f[m,n]==f[m,n-1]+f[m-1,n],f[0,n]==f[m,0]==1}/.f->(Binomial[#1+#2,#1]&)//FullSimplify
Out[10]= {True,True}

我不知道mathematica,但最后两个条目在我看来不像方程式…@B蒂莉:你这是什么意思?我试图给出递推关系的边界条件。@b RSolve中的最后两项是要求解的函数和自由变量。正如@Alexey所指出的,最后一个应该是{m,n}。谢谢你,Simon。正如我所说,我不懂数学。我只是在看错误信息,并寻找一些/可能/合适的东西。也许你可以看看,但这是一个非常简单的函数,f[m,n]=二项式[n+m,m]。Mma不能解决这个问题?我认为大多数CAS都在努力解决二元递归关系。。。我不知道为什么,这个没那么难。@Liang:我知道你可能知道怎么用手做。。。但是我做了这么好的笔记本…@西蒙,我感谢你的努力。但大部分工作都是你做的,而不是mma+1、我得看看生成函数,我从来没有用过。@Liang:我发现mma在做很多事情时都很有用,而且常常能引导你朝着你从未想过的方向前进。然而,我发现花一点额外的时间手工检查问题会得到更好的结果。但是,任何编程语言都是如此。@rcollyer:我从来没有充分使用过它们。我链接的那本书和其他(与他人一起写的)书绝对值得一读。
In[7]:= ff[m_,n_]:=ff[m,n]=ff[m-1,n]+ff[m,n-1]
        ff[0,_]:=1;ff[_,0]:=1
In[9]:= And@@Flatten[Table[ff[m,n]==Binomial[n+m,m],{n,0,20},{m,0,20}]]
Out[9]= True

In[10]:= {f[m,n]==f[m,n-1]+f[m-1,n],f[0,n]==f[m,0]==1}/.f->(Binomial[#1+#2,#1]&)//FullSimplify
Out[10]= {True,True}