Approximation cos sin tan ...

cs_mat74
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
- 5 nov. 2003 à 19:46
garslouche
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
- 8 nov. 2003 à 01:21
salut je cherche des algorithmes pr calculer cos , sin , tan et leur inverse . Si vous en connaissez simple ou compliqués tt m'interesse.
si vs avez 1 algo pr calculer les puissance decimal comme 2^2.5 ou 5^8.05 .

merci

6 réponses

cs_GoldenEye
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
4
7 nov. 2003 à 00:30
On ne parle pas de DL mais de séries entières c pas tt à fait la meme chose...
Optimiser, c'est bien, déboguer c'est mieux
1
leptidev
Messages postés
206
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2007

6 nov. 2003 à 12:41
Utilise les développements limités :

sin x = x + x^3 / 3! ....

cos x = 1 + x^2/2! ....

tan x = sin x / cos x

Pour les puissances :

ln (2^2.5) = 2.5 * ln (2)
et 2^2.5 = exp (ln(2^2.5))

Essaye ça pour voir, merci les cours de math spé !
0
garslouche
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
1
6 nov. 2003 à 16:41
1) Les cours de maths de sup suffisent amplement, je crois même que ça se fait à la fac en 1ère année....

2) tu m'expliques comment tu te retrouves avec cos(x) > 1 ???
le DL de cos(x) en 0 est:
1 - x^2/2! + x^4/4! - ...

3) Les dévelopements limités se font en 1 point.....
Pour les fonctions cos ou sin c'est effectivement ce qu'il faut faire mais ça n'est pas tout.
Par exemple pour cos:

tu te fixes une limite de précision par exemple 0.0001
si ton argument est + grand tu utilise la trigo : cos(2x) = 2*cos²(x) - 1
Pour calculer cos(x) :

fonction cos(x)
{
....si x<0
........retourne cos(-x)
....sinon
....{
........si x<0.0001
............retourne 1-x^2/2 + x^4/24
........sinon
............retourne 2*cos(x/2) -1
....}
}

Avec ça tu as un cosinus super précis (une trentaine de chiffres après la virgule) et sit uveux + précis tu réduis .0001 et tu fais un DL plus loin.
Pour le sinus c'est le même principe : tu ne travail que sur le nombres positifs puis tu utilises la trigo pour diviser ton argument par 2 tant qu'il est trop grand, et quand il est suffisament petit tu fais un développement limité en 0.
0
garslouche
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
1
7 nov. 2003 à 00:38
Petit rigolo va, les séries entières c'est grosso-modo un DL à l'infini...depuis quand l'infini est une notion informatisable ???
0

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

Posez votre question
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
7 nov. 2003 à 22:46
garslouche, ton post aurait ete mieux sans la partie precedent la virgule.
Courtoisiiiiiiiiiiiiiiiiiiiiie, svp.
BruNews, ciao...
0
garslouche
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
1
8 nov. 2003 à 01:21
Ok autant pour moi, c'est vrai que ça pouvais être mal pris. C'était plus dans le sens de petit canaillou ou qqc comme ça.

Toutes mes excuses à GoldenEye si ça l'a blessé.

PS : dans l'algo que j'ai mis au dessus j'ai écrit

retourner 2*cos(x/2)-1

au lieu de

c = cos(x/2)
retourner 2*c*c-1
0