J'appelle cela de la programmation concentrée; en fait la lenteur d'une HP-15C normale fait que très vite on se passe de tout superflu.
Et il n'y a aucune astuce, tout le code est simplement entré au clavier sans utilisation d'aucune astuce non documentée.
D'ailleurs, ce programme est à essayer de toute urgence sur l'HP-15C du Pockemul de notre ami Remy.
Aïe ! Aïe! Aïe !
C'est pas l'HP-15C LE Anniversary qui va à la vitesse de la lumière ? …
… mais dont la fonction f - PSE est boguée ? Dans ce cas, il est peut-être prudent de s'affranchir de l'instruction à la ligne 013- ?!
Très juste, c'est le cœur du programme, cette boucle permet, à partir de la valeur initiale très grossièrement approchée par le sous-programme en Lbl 1, d'affiner par le calcul la valeur finale de W(z) à l'aide de la formule itérative suivante : Cette expression contient trois exponentielles, mais comme je le signalais ci-dessus, sur une HP-15C on a grand intérêt à éviter de se répéter. L'exponentielle n'est donc effectuée qu'une seule fois, mais utilisée plusieurs fois, d'où d'ailleurs la répétition des (ENTER) pour multiplier chaque variable dans les quatre niveaux de la pile. Par contre, c'est exactement le même calcul en mode complexe (z = a+i.b) et en mode uniquement valeur réelle ( z = x ).bernouilli92 a écrit : ↑21 oct. 2019 11:56 Il y a un une boucle entre les pas 12 et 31 avec des calculs utilisant notamment l'exponentielle.
Il faut juste penser à retirer la partie imaginaire mémorisée dans le registre R 1:, d'où le test du Flag 8 et le sous-programme Lbl2 qui se charge d'intervertir les parties réelle et imaginaire, effectuer la soustraction et remettre les choses en place.
Les colonnes des registres pour valeurs imaginaires sont grisées pour indiquer qu'elles ne sont pas disponibles en mode réel c'est à dire lorsque le programme est lancé par f- A ou f- B.
Ce code est la version longue, il existe un code pour HP-15C bien plus court mais qui n'effectue que les calculs des valeurs réelles: Cette version utilise la fonction SOLVE, elle doit donc être adaptable aux HP classiques comme l'HP-34C qui possède déjà un solveur (et l'intégration).
Par contre, l'instruction SOLVE de l'HP-15C ne permet pas la recherche de valeurs complexes
P.S.: Pour faire encore plus cours, il suffit de se contenter de saisir les 5 lignes du sous-programme Lbl0 ci-dessus (LBL0 e^x * STO-0 RTN) et pour calculer une valeur réelle W(x), saisir x faire (STO)(0), entrer une estimation en fonction de la branche désirée (par exemple .57 pour la branche principale et -2.3 pour la branche négative), presser (ENTER) pour remplir les registres X: et Y: avec cette estimation et faire f-(SOLVE)(0) afin d'obtenir la valeur W(x) correspondante.