Calcul fonction trigonométriques par développement limité

Signaler
Messages postés
8
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
17 novembre 2011
-
Messages postés
11
Date d'inscription
samedi 17 décembre 2011
Statut
Membre
Dernière intervention
24 décembre 2011
-
Bonsoir,

Je désire programmer les fonction trigo (sin et cos) en restant en integer voire même
en char me suffirait (pour prog sur un micro).

On sait que, par exemple sin (x) = x - x^3/3! + x^5/5! + Eps(x)
mais ceci uniquement au voisinage de 0

Or il semble que cette formule soit vraie pour tout x entre -pi/2 et pi/2
(vérification rapide sous Excel)

Ma question est :
1) Le DL de sin(x) ci dessus est il vrai pour TOUT x entre -pi/2 et pi/2 ?
2) Si oui, qu'est ce qui permet de dire cela ? (idée de démonstration)

J'ai essayé d'être le plus clair possible ...

D'avance merci

5 réponses

Messages postés
14762
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 janvier 2021
151
Bonjour,

Quel est le problème exacte ?

"pour prog sur un micro"
Tu vas développer en VB6 pour un microcontroleur ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
8
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
17 novembre 2011

Bonsoir,

D'abord je veux le simuler en vb6, à priori ma formule
est exacte pour tout x mais je n'en suis pas sur
et si elle est exacte, je désirerais savoir pourquoi.
Ensuite codage en C

framcois
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

C'est le genre de recherche mathématique qui dépasse le cadre du développement. La programmation te donnera les moyens de vérifier ta fonction point à point, mais ne saura t'expliquer pourquoi.
Perso, "Eps", je ne vois pas trop quelle fonction cela représente.
<Site à visiter>

"[i]mais ceci uniquement au voisinage de 0
Or il semble que cette formule soit vraie pour tout x entre -pi/2 pi/2/i"
Y a quelque chose qui cloche dans ces deux phrases. Entre -Pi/2 et +Pi/2, il y a Pi radians : ça fait une grande étendue et bien loin du 0.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
8
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
17 novembre 2011

J'ai trouvé exactement la réponse : la formule est vraie pour tout x.
C'est le développement en série entière :
(voir dans le milieu du document la démonstration)

http://ljk.imag.fr/membres/Bernard.Ycart/MC2/node41.html

eps(x) est epsilon de x qui tend vers 0 lorsque x tend vers 0
Messages postés
11
Date d'inscription
samedi 17 décembre 2011
Statut
Membre
Dernière intervention
24 décembre 2011

Salut ,

sin (x) = x - x^3/3! + x^5/5! + Eps(x) mais en fait Eps(x) lui même de la forme Eps(x)=x^5*eps(x) avec eps(x) tendant vers 0 quand x tend vers 0.

L'erreur que tu commets en remplaçant sin(x) par x - x^3/3! + x^5/5! est donc x^5*eps(x) ; le rapport entre l'erreur commise et x lui même est donc égal à

x^4*eps(x) c'est à dire quelque chose qui tend vers 0 plus vite que x^4 !

Exploitable au voisinage de 0 seulement mais avec un ordre 5 ça n'est pas si mauvais sur l'intervalle dont tu parles et même excellent sur [-1;1]
(il faut faire une étude de la majoration de l'erreur).