+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 35
    Points : 16
    Points
    16

    Par défaut Moyenne Glissante et moyenne 2ⁿ

    Bonjour,

    Je n'arrive pas à trouver comment faire un algorithme voir même coder en langage C un moyenne glissante sur n éléments où n est définit par l'utilisateur ainsi que une moyenne de 2ⁿ éléments. Ceci est dans le but de pouvoir améliorer l'acquisition de la vitesse d'un moteur.

    Auriez vous une idée de comment le(s) faire(s)?

    Merci bien.

  2. #2
    Expert Confirmé Sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2005
    Messages
    24 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2005
    Messages : 24 349
    Points : 34 758
    Points
    34 758

    Par défaut

    Si c'est bien ce que je crois, il faut garder en mémoire les n (ou 2**n) dernières valeurs. Tu peux faire ça avec un buffer circulaire...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert Confirmé Sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    juin 2005
    Messages
    5 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2005
    Messages : 5 706
    Points : 13 710
    Points
    13 710

    Par défaut

    Et calculer la nouvelle moyenne sur N élements en ajoutant à l'ancienne moyenne la valeur (nouvel élément - le plus ancien élément)/N . (Le plus ancien élément se trouve en tête de ton buffer).

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 35
    Points : 16
    Points
    16

    Par défaut

    Merci de vos réponses. Cependant je ne vois pas très bien comment faire un buffer "circulaire".

    Si vous pouviez m'éclairer un peu.

  5. #5
    Expert Confirmé Sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2005
    Messages
    24 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2005
    Messages : 24 349
    Points : 34 758
    Points
    34 758

    Par défaut

    Si tu comprends l'anglais: http://en.wikipedia.org/wiki/Circular_buffer
    (je n'ai pas trouvé d'équivalent français sur Wikipédia...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert Confirmé Sénior

    Inscrit en
    janvier 2007
    Messages
    10 200
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 200
    Points : 14 396
    Points
    14 396

    Par défaut

    c'est de l'algorithmie, ca, pas vraiment du C..

    Moyenne glissante de n elements :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    pour i = 0 a i < (Nb-n)
    
       Moy = 0
    
       pour j = i  a j < i+n
            Moy = Moy + valeur(j)
       fin pour
    
       Moy = Moy / n
    
       Afficher Moy
    
    fin pour
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 35
    Points : 16
    Points
    16

    Par défaut

    Merci bien depuis le temps que je cherchais.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •