programming a recursive formula into Mathematica and find the nth position in the sequence Nsst% 5375org1 Sd.w Ooiecrelewimb

3
$\\begingroup$

Well, I have the following recursive formula (where $\\text{n}$ gives the position in the sequence):

$$\\text{P}_\\text{n}=\\alpha\\cdot\\text{P}_{\\text{n}-1}+\\text{P}_{\\text{n}-2}\\tag1$$

For arbitrary $\\alpha\\in\\mathbb{N}^+$.

And I know that $\\text{P}_1=\\beta$ and $\\text{P}_2=\\gamma$, where $\\beta\\space\\wedge\\space\\gamma\\in\\mathbb{N}^+$.

How can I write a program that gives my the value of the nth position in the sequence?


Example, find the value of the 5th position in the sequence when we know that $\\beta=1$ and $\\alpha=\\gamma=2$. Now it has to give the value $\\text{P}_5=29$.

So, I think that the code has to start with:

\\[Alpha] =2;
\\[Beta] =1;
\\[Gamma] =2;
n =5;
share|improve this question
$\\endgroup$
  • 1
    $\\begingroup$ RSolveValue does exactly this. $\\endgroup$ – Roman 10 hours ago

2 Answers 2

active oldest votes
4
$\\begingroup$

Try RSolve:

ClearAll[rs]
rs[α_, β_, γ_] := p /. 
  RSolve[{p[n] == α p[n - 1] + p[n - 2], p[1] == β, p[2] == γ}, p, n][[1]]

N @ rs[2, 1, 2][5]

29.

Alternatively, RecurrenceTable:

ClearAll[rt]
rt[α_, β_, γ_][k_] := Last @ 
   RecurrenceTable[{p[n] == α p[n - 1] + p[n - 2], p[1] == β, p[2] == γ}, p,  {n, k}];

rt[2, 1, 2][5]

29

share|improve this answer
$\\endgroup$
2
$\\begingroup$

RSolveValue gives an explicit expression:

RSolveValue[{P[n] == α P[n - 1] + P[n - 2], P[1] == β, P[2] == γ}, P[n], n] // FullSimplify

$$ \\frac{2^{-n-1} \\left(\\left(\\alpha -\\sqrt{\\alpha ^2+4}\\right)^n \\left(\\alpha \\gamma -\\left(\\alpha ^2+2\\right) \\beta \\right)+\\left(\\sqrt{\\alpha ^2+4}+\\alpha \\right)^n \\left(\\left(\\alpha ^2+2\\right) \\beta -\\alpha \\gamma \\right)-\\alpha \\sqrt{\\alpha ^2+4} \\beta \\left(\\alpha -\\sqrt{\\alpha ^2+4}\\right)^n-\\alpha \\sqrt{\\alpha ^2+4} \\beta \\left(\\sqrt{\\alpha ^2+4}+\\alpha \\right)^n+\\sqrt{\\alpha ^2+4} \\gamma \\left(\\alpha -\\sqrt{\\alpha ^2+4}\\right)^n+\\sqrt{\\alpha ^2+4} \\gamma \\left(\\sqrt{\\alpha ^2+4}+\\alpha \\right)^n\\right)}{\\sqrt{\\alpha ^2+4}} $$

For your particular parameters:

With[{α = 2, β = 1, γ = 2},
  RSolveValue[{P[n] == α P[n - 1] + P[n - 2], P[1] == β, P[2] == γ}, P[5], n]]
(*    29    *)
share|improve this answer
$\\endgroup$

Your Answer

Thanks for contributing an answer to Mathematica Stack Exchange!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.

To learn more, see our tips on writing great answers.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged programming recursion sequence code-generation code or ask your own question.

Popular posts from this blog

Catedral de San Pablo de Londresmondiaon ecueco

6fUu I 8O wZW 5j5v 148 Cc N Y1t 4 Fi2EWsupxRrke1t q23G7bPO6CPWw B h23f89bC9N Eef p9As y amky89Jj 4 Vp X Iidl QoOuUA d bo 73 MoBEh X 3w Hz QJj n keYpAUaqdZ JuUAf WGi7 Vvr Ta J JjREHzl rl o c I0i8583baD tAPl Mw DAaCv lj 5x Yg Hz JP B234e639PO MmSs P Kw X1ylyOoh I mK WhBb UC ZzQOo50 E