プロが教えるわが家の防犯対策術!

Mathematicaで3変数の漸化式を解く方法を知りたいと思っています。

解きたい漸化式は、「 (j-k)*a(i,j,k) + k*a(i,j,k+1) + (i-j)*a(i,j-1,k)=0 」で与えられており、この漸化式を j を変数として解き、一般項 a(i,j,k) を i と k の式で表したいと考えています。
また、その初期値として、j=i-1のときの値、「 a(i,i-1,k)=(-1)^(k-1)*binomial(i,k)/i 」が与えられています。
(ただし、a(i,j,k)は3変数i,j,kの数列とし、*はかけ算を表し、binomial(i,k)は二項係数iCkを表すとします。)

Mathematicaで、このような式を解くときに、どのように入力すればよいのかよくわかっておりません。
もしもご存じの方がおられれば、お教え頂けないでしょうか?

A 回答 (2件)

RSolve という専用の関数があります



http://reference.wolfram.com/language/ref/RSolve …
    • good
    • 0
この回答へのお礼

ご返事を頂き、有り難うございます。

RSolve という専用の関数の存在は当然知っているのですが、変数が複数になった漸化式の解き方がわからない、というのが質問の意味です。
質問の方法がわかりにくかったのかもしれません。
大変失礼いたしました。

もしもご存じであればお教え頂けないでしょうか?

お礼日時:2014/12/19 15:55

>変数が複数になった漸化式の解き方がわからない



順番に解けばいいだけでは?
iの漸化式だと思ってRSolve → jの漸化式だと思ってRSolve → kの漸化式だと思ってRSolve

おそらく、これ以外の方法(まとめて一気に解く)といった方法はMathematica標準にはないと思います。

もしこの方法でRSolveで解けなければ、各変数について、z変換して、代数方程式を解いて逆z変換、という流れで計算してみれば、もしかしたら解けるかも。
ただ、RSolve自体、おそらく内部で、z変換を使う方法も試していると思われるので、RSolveで解けない問題が解けるかは微妙ですが。
    • good
    • 1
この回答へのお礼

お応えを頂き、有り難うございます。
RSolveで解くことには、未だ成功しておりませんが、別の方法で同じ問題を解くことができました。
お教え頂き、大変感謝しております。有り難うございました。

お礼日時:2014/12/27 08:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!