Calcul fonction trigonométriques par développement limité

cslcsi Messages postés 8 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 17 novembre 2011 - 7 nov. 2011 à 21:23
cs_Tigrou66 Messages postés 11 Date d'inscription samedi 17 décembre 2011 Statut Membre Dernière intervention 24 décembre 2011 - 24 déc. 2011 à 09:00
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

NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 159
7 nov. 2011 à 22:07
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
0
cslcsi Messages postés 8 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 17 novembre 2011
7 nov. 2011 à 22:14
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
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 nov. 2011 à 00:23
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)
0
cslcsi Messages postés 8 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 17 novembre 2011
8 nov. 2011 à 21:00
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Tigrou66 Messages postés 11 Date d'inscription samedi 17 décembre 2011 Statut Membre Dernière intervention 24 décembre 2011
24 déc. 2011 à 09:00
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).
0
Rejoignez-nous