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é
\sin(x+h) = \sin(x)\left(1-{h^2 \over 2}\right) + \cos(x) h \left(1- {h^2 \over 6}\right) + h^3 \epsilon(h)
avec \lim_{h\to 0} \epsilon(h) = 0\,\!.
L'angle \theta\,\! donné en radians doit donc être décomposé en x+h\,\! :
Le découpage s'effectue en décadegrés ; c.-à-d. que pour un angle \theta\,\! donné en radians, l'angle en décadegrés sera \textstyle\frac{18}\pi\theta[5]. Cet angle est arrondi :

X=\operatorname{round}\left({18\over\pi}\theta\right)\,\ et \ x={\pi\over 18} X\,\![6], \ h=\theta-x\,\!.

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 \theta\,\! 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.

  1. correspond à l'erreur maximale : valeur exacte=0.0087265354983739349648882139735844 ; (valeur exacte - valeur rétournée)/valeur exacte = 1.1529657058681E-14
  2. correspond à l'erreur maximale : valeur exacte=0.087155742747658173558064270837474 ; (valeur exacte - valeur rétournée)/valeur exacte = 0
  3. valeur exacte=0.25881904510252076234889883762405 ; (valeur exacte - valeur rétournée)/valeur exacte = -9.7366858434693E-12
  4. ab usage erroné
  5. 18/π=5.7295779513082320876798154814105
  6. π/18=0.17453292519943295769236907684886