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

Mathématiques Discussion :

Detecter les forts changements


Sujet :

Mathématiques

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 342
    Points : 123
    Points
    123
    Par défaut Detecter les forts changements
    Bonjour,

    J'ai un tableau de 10 valeurs, les premières valeurs sont faibles et les dernières sont grandes. J'aimerais connaitres a quel moment s'effectue le changement des petites valeurs aux grandes.

    Mettre un seuil ne me convaint pas d'autant que je ne suis pas capable de le déterminer. Je suis pas très fort en math donc je me demandé si il y avait pas une formule mathématique qui détermine les changements en marche d'escalier pour me donner ma valeur ?

    Merci davance

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    tableau[0] = 2;
    tableau[1] = 3;
    tableau[2] = 2;
    tableau[3] = 5;
    tableau[4] = 4;
    tableau[5] = 3;
    tableau[6] = 22;
    tableau[7] = 25;
    tableau[8] = 30;
    tableau[9] = 28;

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 90
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Tu peux parcourir ton tableau et créer un autre contenant la différence entre deux termes successifs. Ensuite tu cherches le maximum de ce dernier et ça te donne l'indice de ce saut de valeurs.

    Voilà un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = [ 2 3 2 5 4 3 22 25 30 28];
    diff = x(2:end)-x(1:end-1);
    idx = find(diff==max(diff));
    Dans ce cas idx = 6


    J'espère que c'est ce que tu cherche et à bientôt.

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par fatenov Voir le message
    Bonjour,

    Tu peux parcourir ton tableau et créer un autre contenant la différence entre deux termes successifs. Ensuite tu cherches le maximum de ce dernier et ça te donne l'indice de ce saut de valeurs.

    Voilà un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = [ 2 3 2 5 4 3 22 25 30 28];
    diff = x(2:end)-x(1:end-1);
    idx = find(diff==max(diff));
    Dans ce cas idx = 6


    J'espère que c'est ce que tu cherche et à bientôt.
    Il y a juste le problème qu'il faudrait prendre la valeur absolu de la différence pour éviter d'avoir 2 dans la liste [40 44 45 0] , sinon, ça roule
    Je ne répondrai à aucune question technique en privé

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    en résumé, ce qu'il faut que tu fasses, c'est un calcul de "gradient" sur des valeurs discrétes. L'endroit que t'intéresse c'est l'endroit où le gradient est élevé. Tu trouveras énormément d'exemples en traitement d'images.
    Dans ton cas, un gradient tout simple pourraît être : G[i] = | tableau[i-1] - tableau[i+1] |. (Attention au bords )
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/07/2006, 13h51
  2. détecter les enregistrements en double (sur un champ)
    Par Phiss dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/07/2006, 16h59
  3. Réponses: 8
    Dernier message: 03/07/2006, 19h52
  4. Réponses: 3
    Dernier message: 30/06/2006, 14h39
  5. Detecter les B.O
    Par Fy_Hertz dans le forum C++
    Réponses: 5
    Dernier message: 21/03/2006, 17h12

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