IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Utilisation de numericDeriv


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut [Résolu] Utilisation de numericDeriv
    Bonjour,
    Je cherche à comprendre l'utilisation de la fonction numericDeriv. si je tape

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x<-as.numeric(1:5)
    numericDeriv(quote(x^3), "x")
    J'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [1]   1   8  27  64 125
    attr(,"gradient")
         [,1] [,2] [,3] [,4] [,5]
    [1,]    3    0    0    0    0
    [2,]    0   12    0    0    0
    [3,]    0    0   27    0    0
    [4,]    0    0    0   48    0
    [5,]    0    0    0    0   75
    Or ce n'est pas ce que j'attendais (!) à la place de "12" (qui est la dérivée quand x=2) j'attendais 13 parce que [Y(t+1)-Y(t-1)]/[X(t+1)-X(t-1)]=(3^3-1^3)/[3-1]=13. et ainsi de suite (a la place de 27 j'attendais 28...)

    Pourquoi donc ne calcule-t-il pas la dérivée numérique ?

    merci pour votre aide.

    nicolas

  2. #2
    Membre Expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Par défaut
    Bonjour et bienvenue,

    Prendre un delta x de 2 pour l'estimation numérique d'une dérivée, c'est vraiment très grossier. La fonction se base sur la précision machine pour déterminer le delta à utiliser (tout ceci est expliqué dans writing R extensions).

    Un petit exemple simplifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    > eps <- sqrt(.Machine$double.eps)
    > eps
    [1] 1.490116e-08
     
    > ((2 + eps)^3 - (2 - eps)^3)/((2 + eps) - (2 - eps))
    [1] 12
     
    > ((2 + eps)^3 - (2 - eps)^3)/(2 * eps)
    [1] 12
    >

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut
    Cher pitipoisson

    Merci pour votre réponse, je suis convaincu.


    cordialement

    nicolas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo