[S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Merci Miska, voilà qui va m'éviter des maux de tête...
Je reprendrai l'organigramme prochainement.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Organigramme modifié et publié. Merci à tous les deux.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Ben »

Merci Miskatonic91 pour les précisions.

A la suite de la lecture de ce fil, il y avait tout de même pas mal d'erreurs dans cet article. Les autres sont du même acabit? Je découvre le monde de l'astronomie par ces articles, ça se complique un peu ;-)
Avatar du membre
torgamm
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 282
Enregistré le : 26 déc. 2012 10:41
Localisation : 77 Sud

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par torgamm »

Il ne faut jamais généraliser, et je n'ai pas épluché tous les articles. Surtout qu'à l'époque je n'avais que ma Ti57 qui me limitait pas mal pour l'aspect informatique, et j'étais en 1ère avec des limites théoriques également et il fallait donc être vraiment passionné d'astronomie, ce qui n'était pas mon cas
Mais je te confirme qu'il y avait quand même pas mal d'erreurs
Depuis les fautes de frappe (ne pas publier des listings imprimés n'aidait pas) jusqu'aux formules mal recopiées en passant pas le texte lui-même avec ses inévitables coquilles
Utilisateur de pocket depuis 1979 (TI-57 puis 1981 FX-702P et 1982 PC-1500, encore et toujours ma machine de tous les jours
Ma petite collection Sharp Basic : PC-1212, -1261/62, -1350/60, -1475, -1500, -1600, -2500, -E500S, -G850V, IQ9000+CE101
Fondateur et éditeur de feu PocketPCFreeware.com (2001-2013)
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Miskatonic91 »

Test du programme compact de Daniel Ferro écrit pour les TI-58/59, tapé tel quel sur une TI-66 (avec l'exemple donné dans l'article):

Image

Image

Ça à l'air de marcher... :D

Je n'ai pas encore eu le courage d''entrer la version "longue"...
Un peu de tout, mais toujours de bon goût :wink:
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Miskatonic91 »

Adaptation sur TI-57:

Image

Image

Le programme tient sur 47 pas sans autre modification que la suppression des LBL et la contraction des noms de mémoires (STO 1 au lieu de STO 01).
Il est bien sûr possible de faire mieux, en entrant les nombres directement dans des registres mémoire avant de lancer le programme. 8)
Un peu de tout, mais toujours de bon goût :wink:
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Joli florilège, merci !
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Un essai sur la Mondimat LC 835P dont on a parlé .

Pour la programmation, cette caltoche est une calamité. Son mode d'emploi (incomplet, erroné, et sans index) est le pire que j'aie jamais vu, à la pédagogie nulle et dans un français approximatif - mais qu'est-ce qu'ils fichaient, à la Redoute ? Le précédent propriétaire en a corrigé les erreurs, fort heureusement.
  • On dispose de 45 pas de programme qu'on peut scinder en deux (modes LRN et LRN').
  • Une pression de touche égale un pas.
  • Aucun listage du programme n'est proposé.
  • Une entrée de donnée nécessite la pression antérieure de la touche [x] (la lettre), la machine s'arrête alors pour attendre l'entrée ; à l'entrée du programme dans la machine, il faut donner une... donnée !
Au prix de la mise en mémoire préalable de :
  • la latitude ->(STO 1)
  • le rang du jour (N) - 80 ->(STO 2)
  • -23.442 ->(STO3)
  • 360 ->(STO4)
  • .9863 ->(STO5)
on parvient aux résultats avec le code ci-après :

Code : Tout sélectionner

RCL2
*
RCL5
=
SIN
*
RCL3
=
STO2
+
RCL1
=
TAN
*
.
6
=
STO6
RCL2
SIN
/
RCL1
COS
=
COS^(-1)
+
RCL6
=
HLT
+/-
+
RCL4
=
HLT
Ce machin possède 6 registres de mémoire, tous utilisés. Il y aurait peut-être moyen de gagner un pas ou deux avec les parenthèses (7 niveaux), mais j'avoue que je n'ai pas essayé, dépité par cette programmation poussive. Encore heureux qu'elle possède la mémoire continue qui permet de n'avoir qu'à entrer de nouveau le rang du jour (-80 !) en mémoire deux pour une série de résultats.
Il faut sept secondes pour obtenir...
127.5229677, puis 232.4770324
qui ne méritent même pas une photo. :|
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
torgamm
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 282
Enregistré le : 26 déc. 2012 10:41
Localisation : 77 Sud

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par torgamm »

Je suis admiratif devant ta conscience professionnelle :D
Manifestement le plaisir de programmation n'était pas vraiment là, mais je comprends que tu aies au moins voulu avoir la satisfaction d'aller au bout, maigre récompense finale mais toujours agréable, qui compense un peu l'effort
Utilisateur de pocket depuis 1979 (TI-57 puis 1981 FX-702P et 1982 PC-1500, encore et toujours ma machine de tous les jours
Ma petite collection Sharp Basic : PC-1212, -1261/62, -1350/60, -1475, -1500, -1600, -2500, -E500S, -G850V, IQ9000+CE101
Fondateur et éditeur de feu PocketPCFreeware.com (2001-2013)
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Merci pour ton commentaire. Je suis sans doute un peu sévère, c'est la difficulté de m'adapter (signe de vieillesse ?). ;)

Demain, le Soleil apparaîtra au lever avant de nouveaux jours de pluie. Sur ma boussole, je devrais le trouver à 89,6194°E (à dire vrai sur l'appli de mon téléphone, les décimales n'apparaissent pas vraiment) ; l'avantage d'avoir à entrer toutes les données ou presque, c'est que j'ai pu modifier sans difficulté la déclinaison du Soleil avec la donnée du 1er septembre 2018.

Au moment de l'équinoxe de septembre, le dimanche 23 septembre 2018 à 03h54 (Paris), N vaudra 266 (et nous serons à 2019 moins 99 jours), le Soleil devrait se lever chez moi à l'azimut 91,8179° E. Si je le rate demain, je vérifierai ça dimanche, même si ce n'est pas jour de brocante (ce n'est jamais jour de brocante :D).
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Miskatonic91 »

Félicitations Marge, jolie adaptation!
La Mondimat est vraiment mignonne, comme machine.
Sur TI-57, j'arrive à 34 pas de programme en utilisant ta solution (constantes numériques placées dans des registres mémoire avant le lancement du programme). L'avantage, c'est qu'il est facile de changer ces constantes, en cas par exemple d'année bissextile, sans avoir à toucher au programme lui-même, ce qui est toujours délicat en raison de l'ergonomie douteuse du mode LRN. :wink:
Un peu de tout, mais toujours de bon goût :wink:
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Merci pour ton compliment, mais n'exagérons rien : je n'ai vraiment pas fait beaucoup d'efforts.
La difficulté sur la Mondimat est son arithmétique particulière qu'il faut maîtriser. Par exemple :

On tape :
2*8=
On obtient 16.
3=
On obtient 24.
5=
On obtient 40.
Si j'ai tout compris.

C'est-à-dire que l'engin retient la dernière opération et le dernier terme, et après c'est le Pérou si on sait en tirer parti.

Bon ben yapuka, comme dirait gege.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6167
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Marge »

Marge a écrit : 17 sept. 2018 19:07 Demain, le Soleil apparaîtra au lever avant de nouveaux jours de pluie. Sur ma boussole, je devrais le trouver à 89,6194°E (à dire vrai sur l'appli de mon téléphone, les décimales n'apparaissent pas vraiment) ; l'avantage d'avoir à entrer toutes les données ou presque, c'est que j'ai pu modifier sans difficulté la déclinaison du Soleil avec la donnée du 1er septembre 2018.

Au moment de l'équinoxe de septembre, le dimanche 23 septembre 2018 à 03h54 (Paris), N vaudra 266 (et nous serons à 2019 moins 99 jours), le Soleil devrait se lever chez moi à l'azimut 91,8179° E. Si je le rate demain, je vérifierai ça dimanche, même si ce n'est pas jour de brocante (ce n'est jamais jour de brocante :D).
Ce matin vers 6h30, j'ai pu assister au lever du Soleil. Bon, il y a du mou dans la corde à nœuds.

Sur la boussole réglée sur le nord magnétique, j'ai pu le voir se lever à 107°, bien loin des 89 prévus...
J'ai réglé la boussole sur le nord géographique, la différence est insignifiante.
J'avais aussi la veille vérifié ce calcul sur Stellarium et obtenu 89 ou 88°...

La boussole de l'iPhone 5c est-elle fiable ? :?


EDIT : avec Swiss Map Compass, j'ai un delta de - 17° 8O
EDIT 2 : j'ai réinstallé la boussole d'origine, la mesure est revenue à la normale... Fausse alerte !
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par C.Ret »

Choses promises, choses dues !

Il n’y avait pas dans ce fil de RPL et, mis à part le programme de BEN, pas de BASIC.

Bien qu’il soit déjà tard, je vais faire un petit effort.

En RLP, il y a comme très souvent plusieurs façons de faire. Parmi les multiples façons de calculer les azimuts du lever et du coucher de l’astre solaire, je vais en illustrer ici deux. La première est d’écrire un programme utilisateur qui prendra la latitude et le numéro du jour depuis la pile et remplacera ces arguments par les azimuts du lever et du coucher calculés. C’est la façon de faire la plus logique en RPL qui a hérité de la logique des machines RPN. C’est aussi la façon la plus ingrate de faire car elle manque d’interactivité et nécessite de se souvenir de l’ordre dans lequel il faut disposer les arguments et de l’ordre dans lequel apparaissent les résultats. Un peu comme une HP-15C très puissante, mais difficile à bien exploiter sans un aide-mémoire ou le manuel qui rappelle à l’utilisateur dans quel ordre saisir ou lire les données.

Par chance, il existe une seconde méthode en RPL qui corrige ce principal défaut. Et pour bien faire dans la tradition et la simplicité qui est propres aux utilisateurs de ces systèmes, je vais commencer par cette seconde méthode en premier et présenterai en seconde partie de cet article la première méthode.

I - Méthode interactive

Cette seconde méthode utilise le menu interactif du SOLVEUR des HP28C, HP28S et autres systèmes RPL. Ce menu interactif permet à l’utilisateur de saisir dans l’ordre qu’il souhaite les paramètres du calcul et de sélectionner individuellement chaque résultat dont il souhaite le calcul.

Comme très souvent avec un système RPL, il y a de nombreuses façons d’implémenter les choses. L’un d’entre elle utilise le menu interactif pour "programmer" la solution du problème pas à pas.
Je vais illustrer cette façon, ce qui donnera une bonne idée de la ‘puissance’ du RPL digne héritier de ces ascendants RPN et FORTH.

1ère étape : Organiser ses données

Une HP-28S peut contenir jusqu’à 32 kio de données, il est important d’organiser son espace de travail. Je vous recommande de créer un sous-répertoire où seront stockés les données, les formules et les programmes de cette rubrique et de le mettre tout au fond du menu USER, au bout de l’arbre qui organise vos données, rattaché au répertoire bien caché où toutes les conneries, MPO et autres excentricités glanées sur ce forum sont regroupées. Cela évitera de mélanger les données sérieuses avec les données astrologiques. C’est le grand avantage par rapport à un HP-28C qui ne permet pas de s’organiser de la sorte.

Vérifiez que vous estes au bon endroit et créez votre sous-répertoire :

Code : Tout sélectionner

                                         'LCDLA' CRDIR [ENTER]  [LCDLA]
PATH  [ENTER]  [USER][C.Ret][MPOs]       'LCDLA1' CRDIR [ENTER]  [LCDLA1]        PATH [ENTER]
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                       (2∏)        │   │                       (2∏)        │   │                       (2∏)        │
│3 :                                │   │2 :                                │   │2 :  { H O M E  C.R e t   M P O s }│
│2 :                                │   │1 :  { H O M E  C.R e t   M P O s }│   │1 : { H O M E  C.R e t   M P O s   │
│1 :                                │   │L C D L A    C R D I R _           │   │     L C D L A   L C D L A 1  }    │
│ P A T H _                         │   │MPOs │     │     │     │     │     │   │     │     │     │     │     │     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
Notons que j’ai créé mon répertoire de travail intermédiaire LCDLA dans lequel je compte regrouper tous les exercices à venir d’astrologies. Mais rien ne vous oblige à en faire de même.
Avant de poursuivre, vérifiez cependant que vous estes bien dans le répertoire de travail souhaiter. Pour ma part le répertoire LCDLA1 :

2nde étape : Création de l’environnement de calculs :

Dans ce nouvel répertoire, nous allons créer une équation qui servira de moteur à notre interactivité : '360-Az = Az' STEQ

Code : Tout sélectionner

[][CLEAR]
['] 360 - Az = Az ['] STEQ              [SOLV][SOLVR]                           « 1 FIX  DEG  Am  Cor  +  ->NUM » (Az)
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                       (2∏)        │   │                       (2∏)        │   │                       (2∏)        │
│2 :                                │   │3 :                                │   ║A z : « 1   F I X    D E G    A   …║
│1 :                                │   │2 :                                │   │                                   │
│' 3 6 0 - A z = A z ' _            │   │1 :                                │   │                                   │
│  EQ │     │     │     │     │     │   │  AZ ║  LFT=║  RT=║     ║     ║    │   │  AM ║ COR ║ LFT=║  RT=║     ║     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
Comme vous pouvez vous en rendre compte, il s’agit de la dernière équation de l’organigramme au début de ce fil.
Dans sa grande logique, le RPL aime commencer par la fin. Et c’est d’ailleurs en suivant cette logique rétrospective que nous allons construire récurremment et pas à pas notre environnement de calculs. Pour se faire, mais ce n’est qu’une des options possibles, nous allons utiliser l’interactivité propres aux RPLs.
Les étapes 1 et 2 ne sont nécessaires que pour la création de cet environnement et ne seront plus répétées lors des prochaines et nombreuses utilisations (cf. 3ième étape).

Activez le menu de résolution d’équation, l’affichage interactif apparait alors : [ ] CLEAR SOLV SOLVR
Tel que nous avons définit l’équation initiale :
‘Az’ est l’angle azimutal corrigé (qui nous faut encore définir),
(LFT=) est l’azimut de lever du soleil (azimut du lever est à gauche de la figure) c’est aussi la partie gauche de l’équation ‘360-Az = Az’
(RT= ) est l’azimut de coucher du soleil (azimut du coucher est à droite sur la figure), c’est aussi la partie droite de l’équation

Si l’on appuie sur la touche correspondant à (LFT=), on obtient bien '360-Az' qui est bien la définition de Al d’après l’organigramme.

Définissons 'Az' en tant que programme ce qui nous permettra par la suite d’effectuer plus facilement les calculs et surtout cela nous assurera d’être toujours en mode trigonométrique utilisant les degrés.:)

Profitons de l’environnement pour faciliter l’opération : il suffit d’appuyer sur la touche du menu correspondant à Am. Cette touche est dessinée sur fond clair pour bien indiquer cette fonction. On peut y mettre tout type d’objet, une simple valeur, une expression ou un programme ; seule les fonctions et programmes empruntant des données dans la pile sont interdits.

Il suffit donc de saisir : « 1 FIX DEG Am Cor + ->NUM » ( Az )
Où 'Am' est l’azimut au méridien et 'Cor' la correction de réfraction de l’atmosphère.
1 FIX et DEG permettent respectivement de forcer l’affichage arrondi à une seule décimale et le mode DEGREE.
->NUM force un résultat numérique ce qui nous permettra une utilisation plus simple car toutes les expression seront évaluée numériquement. Sans cet artéfact, chaque résultat serait décomposé en différentes étapes symboliques et plusieurs pressions successives de la touche EVAL seraient nécessaires pour atteindre le résultat numérique souhaité.

Ainsi définit, 'Az' disparait du menu interactif où apparaissent ses arguments ( Am ) et ( Cor ) qu’il nous reste à définir :

Définissez l’azimut au méridien : comme il y a beaucoup de fonctions trigonométriques, utilisons le menu ad ’hoc : COS(Am) = -SIN(Ds) / COS(Lat) où Ds est la déclinaison solaire et Lat la latitude du lieu d’observation.

Code : Tout sélectionner

[TRIG]                                   [SIN]  L[lc]at  [COS]  [ / ]
D[lc]s                                   [CHS]  [ACOS]                          [SOLV]  [SOLVR]  (Am) 
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                       (2∏)        │   │                       (2∏)        │   │                       (2∏)        │
│2 :                                │   │2 :                                │   ║A m :'A C O S(-(S I N( D s )/C O S…║
│1 :                                │   │1 : ' A C O S(-(S I N( D s )/C O S(│   │2 :                                │
│D s _                              │   │    L a t ) ))'                    │   │1 :                                │
│ SIN │ ASIN│ COS │ ACOS│ TAN │ ATAN│   │ SIN │ ASIN│ COS │ ACOS│ TAN │ ATAN│   │  DS ║ LAT ║ COR ║ LFT=║  RT=║     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
Le menu interactif se charge de mémoriser l’expression dans le registre 'Am' dans le sous-répertoire en cours et l’affichage du menu change en conséquence.

Définissez l’angle de correction dû à la diffraction des rayons lumineux dans l’atmosphère : ( COR ) <--0.6/TAN( 90-( LAT )+( DS ) )

Code : Tout sélectionner

                                            ['] OE[lc]m[lc]*SIN(360*(N.[lc]j[lc]
['].6/TAN(90- (LAT) + (DS) ['] (COR)        -80)/NJA [ENTER]                       ( DS )
   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
   │                       (2∏)        │   │                       (2∏)        │   │                       (2∏)        │
   ║C o r: '0 . 6 / T A N ( 9 0 – L a …║   │2 :                                │   ║D s : 'O E m * S I N( 3 6 0 *( N.j…║
   │2 :                                │   │1 :  ' OEm * S I N ( 360 * ( N.j-80│   │2 :                                │
   │1 :                                │   │       )/NJA ) '                   │   │1 :                                │
   │  DS ║ LAT ║ LFT=║  RT=║     ║     │   │  DS ║ LAT ║ LFT=║  RT=║     ║     │   │ OEM ║ N.J ║ NJA ║ LAT ║ LFT=║  RT=│
   └───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
Là aussi le menu interactif change en conséquence, il ne nous reste à définir la déclivité solaire avant de passer à l’étape 3

Définissez la déclivité solaire moyenne : (Ds) <-- 'OEm*SIN(360*(N.j-80)/NJA[ENTER] ( Ds )

Ici, au lieu de définir la déclinaison solaire à partir de valeurs fixes et pour une année donnée, je mets volontairement le nombre de jours de l’année (365 ou 366) et l’oblicité écliptique moyenne sous forme de variables, respectivement (NJA) et (OEm). Ceci me permet de calculer aussi bien les valeurs de test pour l’année 1983 que les valeurs des azimuts contemporains ou futurs (prochaine année bissextile 2020) à partir de numéro du jour (N.j)

Cette fois la définition est faite en mode algébrique afin d’être au plus près de la définition donnée par notre ami Marge, mais aussi afin de simplifier la saisie des noms de variables et profitant de la présence des labels ( Lat ) et ( Cor ) du menu.

Le menu interactif ce met alors automatiquement en forme et ceci met fin à la partie de préparation.
Il ne nous reste plus qu’à exploiter notre environnement de calcul avec les valeurs tests ou pour obtenir les azimuts pour les levers et couchers du soleil de dimanche prochain



3ième étape : calculs des positions (azimuts) des levers et couchers solaires :


Une fois les étapes 1 et 2 réalisés, le calcul des azimuts du lever et du coucher du soleil peut être effectuer très simplement.
Il suffit de se positionner dans le sous-répertoire LCDLA1 et d’activer le solveur par [SOLV] SOLVR.

Code : Tout sélectionner


                                                                                    23.442  (OEm)
                                                                                       172  (N.j)
    [ON]                                    « 365 »  (NJA)                            48.9  (Lat) 
   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
   │                       (2∏)        │   │                       (2∏)        │   │                       (2∏)        │
   │3 :                                │   ║N J A: « 3 6 5 »                   ║   ║L a t: 4 8 . 9                     ║
   │2 :                                │   │2 :                                │   │2 :                                │
   │1 :                                │   │1 :                                │   │1 :                                │
   │ OEM ║ N.J ║ NJA ║ LAT ║ LFT=║  RT=│   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │
   └───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
L’affichage indique alors les paramètres à saisir et les deux résultats attendus :
( LFT=) qui renvoi l’azimut du lever du soleil
( RT =) qui renvoi l’azimut du coucher du soleil
( Lat ) qui permet de saisir la latitude du lieu d’observation
( N.j ) qui permet de saisir le numéro du jour
( EOm ) qui permet de régler l'obliquité de l'écliptique solaire moyenne à prendre ne compte qui est de 23°26’ dans les exemples historiques ci-dessous et qui est aujourd’hui de 23.4368574972 = 23° 26' 12.687" (Laskar) aujourd’hui à 16:00 (heure de PARIS c’est-à-dire 14:00 UTC).

( NJA ) qui est de 365 pour une année normale et 366 les année bissextile.

Tous les calculs se feront sur une année normale : entrons le nombre de jours 365 sous forme de programme ce qui fera disparaitre cette référence du menu. En 2020, nous n’oublierons pas de modifier le nombre de jours annuel par 366 'NJA' STO. On peut aussi faire réapparaitre le libellé ( NJA ) par 'NJA' PURGE pour d’autres calculs.

Fixez la constante du nombre de jour annuel : « 365 » ( NJA )
Saisissez la valeur de la déclivité historique de l’exemple de vérification : 23.442 ( OEm )
Saisissez le numéro du jour de l’exemple : 172 ( N.j )
Saisissez la latitude de PARIS : 48.9 (Lat)

Obtenez l’azimut du lever en pressant ( LFT=). Le résultat exact peut être obtenu en pressant [shif][EDIT] on trouve alors 232.477033506 puis du coucher en pressant ( RT=) :

Code : Tout sélectionner

[ LFT=]                                 [ ][EDIT]                               [ON]  [ RT=]
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                                   │   │        α                          │   │                                   │
║L E F T = 2 3 2 . 4 8              ║   │3 :                                │   ║R I G H T = 1 2 7 . 5 2            ║
│2 :                                │   │2 :                                │   │2 :                     2 3 2 . 4 8│
│1 :                     2 3 2 . 4 8│   ║1 :                     2 3 2 . 4 8║   │1 :                     1 2 7 . 5 2│
│ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │   │_2 3 2 . 4 7 7 0 3 3 5 0 6         │   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘

Pour prévoir le lever et coucher pour dimanche prochain 23 Septembre 2018, il me suffit de saisir :
23.43686 ( OEm ) 266 ( N.j ) 49.22 HMS→ ( LAT ) ( LFT=) ( RT=)

Code : Tout sélectionner

 23.43686  (OEm)
      266  (N.j)
    49.37  (Lat)                        [ LFT=]                                 [ RT=]
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                                   │   │                                   │   │                                   │
║L a t: 4 9 . 3 7                   ║   ║L E F T = 2 7 1 . 4 3              ║   ║R I G H T = 8 8 . 5 7              ║
│2 :                     2 3 2 . 4 8│   │2 :                     1 2 7 . 5 2│   │2 :                     2 7 1 . 4 3│
│1 :                     1 2 7 . 5 2│   │1 :                     2 7 1 . 4 3│   │1 :                       8 8 . 5 7│
│ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
Ce qui donne les azimuts pour dimanche matin et dimanche soir par rapport au Sud, ce qui n’est pas bien pratique.

On peut modifier cela en demandant les azimuts par rapport au nord de la boussole.

Il suffit pour cela de modifier l’équation en cours par : '180-Az=180+Az' STEQ

Code : Tout sélectionner

[']180-A[lc]z=180+[lc]A[lc]z[']
[SOLV]                                  [STEQ] [SOLVR]                          [ LFT=]  [ RT=]
┌───────────────────────────────────┐   ┌───────────────────────────────────┐   ┌───────────────────────────────────┐
│                                   │   │                                   │   │                                   │
│2 :                     2 7 1 . 4 3│   │3 :                     1 2 7 . 5 2│   ║R I G H T = 2 6 8 . 5 7            ║
│1 :                       8 8 . 5 7│   │2 :                     2 7 1 . 4 3│   │2 :                       9 1 . 4 3│
│' 180 – Az = 180 + Az '□           │   │1 :                       8 8 . 5 7│   │1 :                     2 6 8 . 5 7│
│ STEQ│ RCEQ│SOLVR│ ISOL│ QUAD│ SHOW│   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │   │ OEM ║ N.J ║ LAT ║ LFT=║  RT=║     │
└───────────────────────────────────┘   └───────────────────────────────────┘   └───────────────────────────────────┘
( LFT=) ( RG=) afficheront alors les azimuts de ma boussole à utiliser pour pointer vers le lever puis le coucher soit respectivement 91.43° et 268.57° c’est-à-dire environ 3/2 degrés au nord de la direction EST le matin et les mêmes 3/2 degrés au sud de la direction OUEST le soir.


Voilà qui clore ma présentation de la solution interactive que l'on peut réaliser avec une modeste HP-28S. Sur les RPL les récentes, le SOLVEUR permet de gérer simultanément plusieurs équations. Il est donc possible de faire les mêmes choses d'une façon plus élégante et abouti; Mais je laisse le soin aux possesseurs des HP48/50 le soin de nous en dire plus


II. Fonction directe

C'est très simple, il suffit de mémoriser le code suivant dans LCDLA1, de mettre les valeurs OEm et NJA dans les variables correspondantes puis de saisir la latitude et le n° du jour pour obtenir les azimuts sous la forme d'une matrice 2x2 :

Code : Tout sélectionner

« 80  -  → l n                                      // Variables Locales n : N.j-80 et l : Lat
  « OEm  360  DEG  n  *  NJA  /  SIN  *  → d        // Sous-calcul local d : OEm*SIN(360°*(N.j-80)/NJA)
    « d  SIN  l  COS  /  NEG  ACOS                  // Calcul  Am : COS(Am) == -SIN(d)/COS(Lat) 
      .6  90  l  -  d  +  TAN  /                    // Calcul Cor : .6/TAN(90-Lat+d)
      +                                             // Calcul  Az : Am + Cor
      [[-1 1][-1 1]] * [[2 0][1 1]] 180 * + » » »   // Mise en forme des résultats
'LA1' STO
Puis préparer les paramètres pour le calcul test historique à PARIS:

Code : Tout sélectionner

3 FIX
365  'NJA'  STO
23.442 'OEm' STO

48.9  172  [LA1]
┌───────────────────────────────────┐
│                                   │
│2 :                                │
│1 : [[ 2 3 2. 4 7 7  1 2 7. 5 2 3 ]│             // [[  Al   Ac  ]  Azimuts lever et coucher par rapport au sud
│     [ 5 2. 4 7 7  3 0 7. 5 2 3  ]]│             //  [  Al°  Ac° ]] Azimuts par rapport au nord de la boussole
│ OEM │ NJA │ LA1 │     │     │     │
└───────────────────────────────────┘
Et pour dimanche prochain vers chez moi :

Code : Tout sélectionner

23.43686  'OEm' STO
49.22 HMS→  266  [LA1]
┌───────────────────────────────────┐
│                                   │
│2 : [[ 2 3 2. 4 7 7  1 2 7. 5 2 3 …│
│1 : [[ 2 7 1. 4 3 2    8 8. 5 6 8 ]│             // [[  Al   Ac  ]  Azimuts lever et coucher par rapport au sud
│     [ 9 1. 4 3 2  2 6 8. 5 6 8  ]]│             //  [  Al°  Ac° ]] Azimuts par rapport au nord de la boussole
│ OEM │ NJA │ LA1 │     │     │     │
└───────────────────────────────────┘
Modifié en dernier par C.Ret le 19 sept. 2018 20:07, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: [S&V] LCDLA 1 : Calculer l’azimut du lever et du coucher du Soleil

Message par Miskatonic91 »

Bravo pour le boulot!
Ce sera pour moi l'occasion de comprendre enfin quelque chose au RPL, langage qui m'attire intellectuellement (comme le Forth), mais me rebute en pratique (le côté "illisible"...).
En tout cas le recours au Solver est astucieux, il faudra que j'essaie sur une HP-17BII, ou sur le calculateur des HP-LX...
C.Ret a écrit : 19 sept. 2018 16:56 Une HP-28S peut contenir jusqu’à 32 kio de données, il est important d’organiser son espace de travail. Je vous recommande de créer un sous-répertoire où seront stockés les données, les formules et les programmes de cette rubrique et de le mettre tout au fond du menu USER, au bout de l’arbre qui organise vos données, rattaché au répertoire bien caché où toutes les conneries, MPO et autres excentricités glanées sur ce forum sont regroupées. Cela évitera de mélanger les données sérieuses avec les données astrologiques.
Je ne puis qu'abonder dans ton sens, ne mélangeons pas les calculs astronomiques avec les "données astrologiques"... :wink:
Un peu de tout, mais toujours de bon goût :wink:
Répondre

Retourner vers « Tous les Pockets »