Calcul du sinus à partir du développement limité?

Signaler
Messages postés
1
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
13 avril 2004
-
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004
-
Bonjour,

je dois faire ceci:

->calcul du SINUS/COSINUS/EXPONENTIELLE d'un nombre à partir du développement limité et en choisissant le rang!!

Je ne vois pas comment faire!

merci de m'aider

12 réponses

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
Déjà, il faut partir de la définition :

sin (X) = somme ( (-1)^i(x^i)/i) i allant de 0 à N

Note : Les classes préparatoires sont loin, très loin pour moi maintenant. Si la formule est mauvaise, retenir le principe.

Function SinusDevLimite(X as Double, n As Long) As Double
Dim i As Long
Dim resultat As Double
resultat = 0.0
For i=0 to n
resultat = resultat + (-1)^i * (X^i)/i
Next i

SinusDevLimite = resultat
End Function

Manu
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
22
Version récursive :
Function SinusDevLimite(X as Double, n As Long) As Double
Dim i As Long
if n<>-1 then
  SinusDevLimite = (-1)^n * (X^n)/n + SinusDevLimite(X,n-1)
else
  SinusDevLimite = 0
EndIf
End Function

Christophe R.
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
La partie programmation a été répondue, place aux maths !
(elles ont été mises en mal dans les 2 réponses précédentes ...)

sin(x) = Somme_n (x^(2n+1) * (-1)^n / fact(2n+1))

la somme allant de n=0 à n=N.
fact est la fonction factorielle

de même :
cos(x) 1 - x^2 /2 + x^4 / 24 - ... Somme_n (x^(2n) * (-1)^n / fact(2n))
avec n=0 à n=N

et enfin, le plus facile :

exp(x) = Somme_n (x^n / fact(n))

VB Lover
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
je ne résiste pas à écrire le programme :)

Private Function Sinus(ByVal X As Double, ByVal N As Integer) As Double
Dim i As Integer
Dim Fact As Long
Dim Resultat As Double

    Resultat = 0
    Fact = 1
    For i = 1 To N
        Fact = Fact * i
        If i Mod 2 = 1 Then
            Resultat = Resultat + X ^ i / Fact
            Fact = -Fact
        End If
    Next
    Sinus = Resultat

End Function


il faut juste faire attention à Fact qui devient très grand très vite ! (-> mettre en Double)
VB Lover
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004

je suis desolé mais tout les code qui sont la je crois pas qu'il vont marcher parce que pour le cosinus et le sinus il faut prendre compte du module 2pi et faire une etude sur cet intervalle j'ai déja essayé de le programmer et des que tu depasse 2pi les resultat ne sont plus juste
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004

je suis desolé mais tout les code qui sont la je crois pas qu'il vont marcher parce que pour le cosinus et le sinus il faut prendre compte du module 2pi et faire une etude sur cet intervalle j'ai déja essayé de le programmer et des que tu depasse 2pi les resultat ne sont plus juste
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
Le code du sinus marche !!
La série du sinus converge pour tout nombre réel (en théorie)
La seule limitation ici, c'est la valeur de N. Pour faire converger la série du sinus, il suffit de prendre un plus grand N. Mais sinon, y'a vraiment rien de plus bête que de mettre en nombre entre 0 et 2*Pi !!!

VB Lover
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004

il serait plus judicieux de mettre une bouble avec un do while:
do while x>(2*Pi)
x=x-(2*Pi)
loop
si ta un code deja fé envoi le pour que je l'essaye parce que je trouve ca bizzare . :shock)
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
ce n'est pas la programmation la plus belle, mais enfin :

X = X - (X \ (2 * PI)) * (2 * PI)


VB Lover
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004

je viens de me rendre compte que c toi le mec du billard j'ai bien aimé la matrice aussi .je conseille a tout ceux qui vont recevoir ce msg d'aller voir le billard de vb lover .
Messages postés
221
Date d'inscription
vendredi 30 novembre 2001
Statut
Membre
Dernière intervention
13 février 2010
4
Un fin limier ce taha154 !!
Je suis découvert, oulala !

ça fait chaud au coeur d'avoir un fan :)

VB Lover
Messages postés
9
Date d'inscription
mercredi 19 mai 2004
Statut
Membre
Dernière intervention
11 juin 2004

oui biensur un peut de pub ca fé de mal a personne :-p