Article posté par gOlstein
Suites Numériques en valeurs exactes
Pour définir
des suites, récurrentes ou non, on peut utiliser le mode "suites" de la
calculatrice. Cela donne l'écran ci contre. Mais, cela pose un
problème, car lorsqu'on veut évaluer un terme, il est rendu en valeur
approchée. Ainsi, pour la suite définie ci-contre,
u1(5)=-2,17892156863. Ce type de résultat n'est pas toujours idéal,
surtout en mathématiques. |
|
|
Pour obtenir
l'évaluation d'une suite en valeurs exactes, on utilise alors la fonction
"when()" comme dans l'écran ci-contre pour l'exemple précédent. La
syntaxe est : when(n=0,2,(2u(n-1)+5)/(u(n-1)-3)). On peut l'expliquer
comme suit : si n=0, alors u(n)=2, sinon
u(n)=(2u(n-1)+5)/(u(n-1)-3)) Si on évalue u(5), comme précédement, on
obtient cette fois -889/408, c'est tout de même plus précis que
-2,17892156863 ! |
Cependant,
cette méthode pose problème. En effet, La mémoire de travail de la TI89
avec une ROM 1.00 est limitée à 64 ko. C'est pour cela qu'on obtient l'écran
ci-contre. Cette limite arrive d'autant plus vite qu'à chaque étape de
récursion, il faut évaluer u(n) deux fois. Calculez le nombre d'appels
pour u(n) : u(1) = 2 appels, u(2) = 2² appels, u(n) = 2n appels
! Si n=10, 210=1024 appels. Il y a une croissance
exponentielle. |
|
|
Pour
contourner le problème, il faut d'abord retoucher un peu la fonction, en
utilisant la fonction "expand"(="dévelop"). L'expression rendue n'a plus
qu'un seul appel. Le calcul est donc plus rapide et peu aller plus loin
sans provoquer une "erreur mémoire". On peut aussi redéfinir la
fonction à partir de u(12) par exemple. la suite n'est alors plus que
définie à partir de u(12), mais on peut calculer des termes plus élevés
(écran ci-contre). |
|