Si on ne se souvient pas directement de son cours, pour obtenir la forme explicite correspondant à la suite s'obtient sous Maple par:
> rsolve(u(n)=R*u(n-1),u(n));
Cette suite est convergente dès lors que |R| est inférieur à 1, auquel cas la suite tend vers 0, ce qui correspond à une extinction de population. Donc du point de vue des lapins, il faut que R>1.
La procédure suivante permet de simuler l'évolution de la population lapine, tout en tenant compte que l'accroissement de population diminue quand la population se rapproche de .
> u := proc(n:integer) option remember; if n>0 then floor(R*u(n-1)*(1-u(n-1)/100000)) else 500 fi end;
On obtient par exemple le tracé de l'évolution de la population lapine pour R=1.1 par les instructions suivantes:
> readlib(forget); > R:=1.1; forget(u); plot([seq([i,u(i)],i=1..100)],style=LINE,color=red);
On constate que tant que , l'évolution de la population est convergeante. Pour R=3.05, on constate que l'évolution de la population devient cyclique, de période 2. Pour R=3.336 et R=3.56, l'évolution est toujours cyclique mais de période 4 (c'est à dire qu'on a assisté à un doublement de période). Pour R=3.57, l'évolution est encore cyclique, mais la période est 32 (c'est à dire que le phénomène de doublement de période s'est répété 3 fois). Pour R=3.58, l'évolution n'est plus du tout cyclique: elle est devenue chaotique. L'évolution reste chaotique tant que ; au delà, le système diverge!
Si on suppose que est une suite convergente, sa limite u vérifie alors l'équation :
> R:='R'; g := u -> R * u * ( 1 - u/100000); > solve(u = g(u), u);
Pour étudier la stabilité de ces limites éventuelles, il faut vérifier que la dérivée de par rapport à u soit inférieur à 1 en valeur absolue:
> op(simplify(map(x->subs(u=x, diff(g(u),u)),["])));
Donc la première solution, 0, est stable si -1<R<1. La seconde solution est stable si . Ceci constitue un argument qui plaide en la faveur de la convergence de quand -1<R<3, vers 0 quand -1<R<1 et vers une valeur entière proche de quand 1<R<3.