Modèle:Sin/Documentation
Un article de Wikipédia, l'encyclopédie libre.
Cette page est la documentation des modèles {{Sin}}, {{Cos}} (de ses sous-modèles {{Sin/degré}}, {{Sin/radian}}, {{Sin/grade}}, etc.) et des variantes : {{Sin°}}, {{Cos°}} et {{Tan°}}. L'existence de ces modèles n'est dûe qu'au fait que Wikipédia n'intègre pas les MathStatFunctions. Avec cette extension, la fonction sinus serait {{#sin: <angle en radian>}}
.
- Utilisation :
- Le modèle {{Sin}} retourne une valeur approchée du sinus d’un angle.
- Le modèle {{Cos}} retourne une valeur approchée du cosinus d’un angle.
- Le modèle {{Cos}} retourne une valeur approchée de la tangente d’un angle.
- Syntaxe :
- {{fonction|angle}}
- {{fonction|angle|unité}}
- Paramètres :
-
- fonction : Sin, Cos, Tan
- 1=angle l’angle (obligatoire) ; un nombre quelconque.
- 2=unité l’unité angulaire (facultatif, en radian par défaut) ; les valeurs possibles sont "r" (ou "rad", "radian", "radians"), "d" (ou "°", "deg", "degré", "degrés"), "g" (ou "grad", "grade", "grades").
- Variantes :
- Les modèles {{Sin°}}, {{Cos°}}, {{Tan°}} retournent respectivement les sinus, cosinus et tangente d’angles donnés en degrés (il n’y a pas de second paramètre pour indiquer l’unité angulaire).
- Notes :
- La restriction des angles à certains quadrans (comme -180..180 degrés pour le sinus) a été levée. Tous les quadrans et leurs multiples sont acceptés, sans faire appel à aucun autre modèle décomposant les symétries.
- Le développement limité n'est plus utilisé pour les calculs, les MathFunctions sont utilisées directement avec la précision optimale.
- La constante pi est utilisable maintenant directement dans les expressions et leurs paramètres.
- Exemples :
Code wiki | Rendu |
---|---|
{{Sin}} |
0 |
{{Sin°|0.5}} [1] |
0.0087265354983739 |
{{Sin|5|d}} [2] |
0.087155742747658 |
{{Sin°|5}} |
0.087155742747658 |
{{Sin|15|d}} [3] |
0.25881904510252 |
{{Sin|30|d}} |
0.5 |
{{Sin|40|d}} |
0.64278760968654 |
{{Sin|45|d}} |
0.70710678118655 |
{{Sin|85|d}} |
0.99619469809175 |
{{Sin|90|d}} |
1 |
{{Sin|135|d}} |
0.70710678118655 |
{{Sin|180|d}} |
1.2246467991474E-16 |
{{Sin|270|d}} |
-1 |
{{Sin|355|d}} |
-0.087155742747658 |
{{Sin|-180|d}} |
-1.2246467991474E-16 |
{{Sin|-3690|d}} |
-1 |
{{Sin|50|g}} |
0.70710678118655 |
{{Sin|-3.14}} |
-0.0015926529164868 |
{{Sin|5|xxx}} [4] |
Erreur : unité angulaire (paramètre {{Sin}} 2=xxx) invalide. |
{{Sin|xxx}} [4] |
Erreur d'expression : le mot xxx n'est pas reconnu |
[modifier] Nouvelle implémentation
La version actuelle utilise directement les MathFunctions cos(), sin() et tan() dans les expressions introduites avec {{#expr:}} pour calculer les cosinus, sinus et tangeantes sans créer de longs développement limités qui alourdissaient la charge du serveur.
Auparavant un développement limité unique d'ordre 7 a été utilisé en ramenant les angles en radians modulo pi, et des approximations des tangeantes au degré le plus proche uniquement.
[modifier] Implémentation initiale
A l'origine ce modèle utilisait la méthode suivante:
- Détails du procédé de calcul approché
- Le calcul approché est basé sur le développement limité
- avec .
- L'angle donné en radians doit donc être décomposé en :
- Le découpage s'effectue en décadegrés ; c.-à-d. que pour un angle donné en radians, l'angle en décadegrés sera [5]. Cet angle est arrondi :
et [6], .
- En réalité, le modèle {{Sin}} commence par ramener l'angle en décadegrés à une valeur comprise entre 0 et 9.
- Imbrication des modèles
- le modèle {{Sin}} utilise des sous-modèles :
{{Sin|<angle>|<unité>}}
utilise{{Sin/1|<angle en décadegrés entre -18 et 18>}}
qui utilise{{Sin/2|<angle arrondi : 0, .. ,9>|<valeur de h>}}
qui emploie enfin le modèle{{Sin/Table|<angle en décadegrés>}}
.
- L’ancien algorithme en détails :
-
- en partant d'un angle donné en radians, on commence par diviser par 2π
- {{Sin/Mod}} permet de se ramener à un intervalle -0.5,..,0.5 qui correspond à l'intervalle -π,..,π.
- convertion en décadegrés l'interval devient -18,..,18.
- {{Sin/1}} décompose en 4 quartans en se ramène à un interval 0,..,9
- {{Sin/1}} emploie {{Sin/2}} avec, en paramètre, l'angle arrondi, et la valeur h
- {{Sin/2}} utilise {{Sin/Table}} pour récupérer les sinus et cosinus de l'angle arrondi
- {{Sin/2}} retourne le sinus approché grâce à la formule ci-dessus
- Ces modèles sont obsolètes.
- ↑ correspond à l'erreur maximale : valeur exacte=0.0087265354983739349648882139735844 ; (valeur exacte - valeur rétournée)/valeur exacte = 1.1529657058681E-14
- ↑ correspond à l'erreur maximale : valeur exacte=0.087155742747658173558064270837474 ; (valeur exacte - valeur rétournée)/valeur exacte = 0
- ↑ valeur exacte=0.25881904510252076234889883762405 ; (valeur exacte - valeur rétournée)/valeur exacte = -9.7366858434693E-12
- ↑ a b usage erroné
- ↑ 18/π=5.7295779513082320876798154814105
- ↑ π/18=0.17453292519943295769236907684886