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

VB 6 et antérieur Discussion :

enveloppe des maxima d'un groupe de courbes


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut enveloppe des maxima d'un groupe de courbes
    Bonjour à tous,
    Je cherche à récupérer à partir d'un ensemble de 12 courbes l'enveloppe des maxima. Pour celà je pensais à récupérer pour chaque absisse la valeur de chacune des courbes et ensuite ne conserver que la valeur maximale.
    Je suis assez novice en programation, pourriez vous me dire si cette solution est la bonne et comment coder cette double boucle?

    En vous remerciant.

    Loïc

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Bonjour,

    dans le principe tu peux faire commme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'On boucle sur chaque abscisse disponible
    For i = 1 To MaxAbscisse
      'Par défaut, l'ordonnée de la première courbe est considérée comme valeur maximum
      OrdonneeCourbeMaxi(i) = Ordonnee(1, i)
      'On compare les 11 autres valeurs d'ordonnée et on les compare à l'ordonnée maximum
      For j = 2 To 12
        If Ordonnee(i, j) > OrdonneeCourbeMaxi(i) Then
          OrdonneeCourbeMaxi(i) = Ordonnee(i, j)
        End If
      Next j
    Next i
    Il te faut bien sûr adapter ce code en fonction de la manière dont tu as stocké tes courbes et de la façon dont tu veux mettre en mémoire les coordonnées e la courbe maximum.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut
    ok merci, je vais voir pour adapter ça à mon besoin. Je vous tiendrai au courant de la suite.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par Loic62200 Voir le message
    Je cherche à récupérer à partir d'un ensemble de 12 courbes l'enveloppe des maxima. Pour celà je pensais à récupérer pour chaque absisse la valeur de chacune des courbes et ensuite ne conserver que la valeur maximale.
    Bonjour,
    D'où proviennent ces 12 courbes ?
    La réponse est en effet différente selon que :
    - Elles sont tracées à partir de données (et c'est à l'occasion de ce traçage que tu peux dans la foulée, relever le maximum, par examen de la donnée)
    - Elles sont un "dessin" déjà existant et importé (et l'approche est alors forcément purement graphique)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut
    Les courbes proviennent d'un système d'acquisition qui enregistre sous forme de tableaux les valeurs de chaque points des courbes. Le but est donc de créer un nouveau tableau avec pour chaque abscisse l'ordonnée maximale.

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    La solution donnée par OhMonBato est alors à appliquer par comparaison des valeurs de la 2ème colonne de chaque tableau (en supposant que les ordonnées soient dans cette 2ème colonne).
    Ce que tu peux faire (retenir la plus grande valeur) au moment même où tu traces.
    En ce qui concerne ton second tableau (celui des résultats), je suppose qu'il est composé de 12 lignes (une par courbe) et de deux colonnes (une pour les abscisses et l'autre pour les ordonnées). Tu sais donc le dimensionner d'emblée.
    Il te suffit ensuite, à la fin de chaque traçage, de renseigner les deux valeurs de la ligne en cours (abscisse et ordonnée) et d'incrémenter le numéro de ligne en cours d'une unité à chaque traitement de la courbe suivante.

Discussions similaires

  1. Enveloppe des maxima d'une courbe.
    Par j.balestie dans le forum Excel
    Réponses: 26
    Dernier message: 20/03/2024, 16h00
  2. Java.developpez.com repris sur la liste des Virtual Java User Group
    Par Mickael Baron dans le forum Général Java
    Réponses: 1
    Dernier message: 04/12/2012, 16h36
  3. Réponses: 1
    Dernier message: 08/11/2006, 12h16
  4. Regrouper des champs dans un GROUP BY
    Par kaiserazo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 11/07/2005, 08h43
  5. [CR11]Duplicata des éléments d'un groupe
    Par azertyuia dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/03/2005, 10h21

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