Calcul de sinus

Résolu/Fermé
speedy_souris Messages postés 53 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 28 février 2019 - Modifié le 27 févr. 2019 à 14:46
speedy_souris Messages postés 53 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 28 février 2019 - 28 févr. 2019 à 21:01
Bonjour,

Mon objectif calculer la valeur approximative de sinus d'un angle qui aurait une valeur <~10-6
en utilisant la serie de TAYLOR
je voudrais comprendre pourquoi je n'ai pas le résultat attendu dans mon script
merci de m'aiguiller
from math import factorial
"""Script pour le calcul d'une valeur approximative du sinus d'un angle
    donné par l'utilisateur en utilisant la serie de TAYLOR
    avec une valeur d'affichage du sinus < ~ 10-6
 """

x = float(input())
n = 0
expo, fact = 0, 0
expo2, fact2 = 0, 0
sinX = 0

while not (sinX < sinX * 10 ** -6):
    expo = 2 * n + 1
    fact = factorial(expo)
    n += 1
    expo2 = 2 * n + 1
    fact2 = factorial(expo2)
    n += 1
    sinX = -1 ** n * ((((x ** expo) * fact2) + ((x ** expo2) * fact)) / (fact * fact2))

print(sinX)


Configuration: Processeur I7, Ubuntu 18.04 64bits 32 Go de ram
3 écrans (19" vertical , 2 X 21" Horizontal)


A voir également:

1 réponse

speedy_souris Messages postés 53 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 28 février 2019
28 févr. 2019 à 21:01
ca y est enfin, c'etait pas sans mal
en fait la solution était bien plus simple que ce que je pensais
voici mon code qui pourra toujours à quelqu'un
from math import factorial

x = float(input())
t, n, s = 1, 0, 0

while abs(t) > 1e-6:
    t = (-1)**n * x**(2*n+1) / factorial(2*n+1)
    s += t
    n += 1

print(s)

0