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

Algorithmes et structures de données Discussion :

approximation de courbes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 212
    Par défaut approximation de courbes
    Le titre n'est pas forcément évocateur, donc voilà :

    Pour un projet perso, j'ai besoin de déterminer 2 paramètres (la densité de l'eau et sa viscosité dynamique en fonction de la trempérature) avec une précision 'moyenne' (la 4 ou 5ème décimale).

    Pour ce faire, j'ai réussi à mettre la main sur les courbes (merci Google) mais pas sur les équations qui ont permis de les tracer. Or, il m'est difficile d'intégrer ces courbes dans mon programme.

    Serait-il donc possible de déterminer une équation de type polynomiale pour calculer les différentes valeurs, à partir des points de la courbe que je connais déjà (un peu à la façon des calculatrices scientifiques avec un mode "Solveur") ? Je précise bien que ces équations ne doivent pas forcément me donner la valeur archi-exacte à la 1000 décimale, mais seulement une bonne approximation (en gros : les courbes densité/visco que j'obtiendrais avec ces équations doivent se superposer au mieux avec les courbes en ma possession, si possible avec une précision de l'ordre de .0001 ou .00001)

    Il me semble, mais je n'en suis pas sûr, avoir vu l'un de mes profs de maths, il y a bien longtemps, utiliser une méthode à base de matrice pour trouver les divers coefficients.

    Je ne sais pas si j'ai été asez explicite, mais si qqun pouvait me renseigner.

    Cordialement,

    Damien

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    beaucoup trop vaste comme question...

    Il y a des dizaines de manière d'interpoler une courbe...

    Pour ne citer que quelques exemples :

    dfférents types :

    linéaire, cubique, polynomial, exponentiel, ..

    différentes méthodes (ou algos) :

    Bresenham, Spline, spline cubiques, hermite, itérations, moindre carrés, ......

    Si vous voulez qu'on vous aide, précisez un peu le problème, le but exact (déterminer des coefficients d'une équation, trouver la courbe s'approchant le plus de l'ensemble des points, trouver une courbe passant exactement par les points, est-ce que cette courbe doit être continue, à dérivée premièere et/ou seconde continue, etc...) et postez un exemple de courbe, avec éventuellement hypothèses physiques sous-jacentes (comportement attendu théorique, etc..)

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Est-ce que, par hasard, ces courbes collent a tes valeurs ?

    Densité de l'eau (L. W. Tilton, J. K. Taylor):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
              (T-3.9863)^2   T+288.9414 
    d = ( 1 - ------------ x ---------- ) x 0.999973
                508929.2     T+68.12963
    Viscosité (Helmholtz):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mu = 1.779x10^-3 / ( 1 + 0.03368*T + 0.00022099*T^2 )
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 212
    Par défaut
    @Souviron34 :
    Ce que je cherche est :
    - trouver une courbe passant exactement par des points dont je connais l'abscisse et l'ordonnée (et donc "interpolant" les ordonnées des points dont je ne connais que l'abscisse)
    - cette courbe doit être continue
    Désolé, je ne suis pas un matheux

    @pseudocode :
    - je vérifierai ce soir pour Helmholtz (je ne connaissais pas cette équation, mais comme il en a fait plusieurs)
    - pour l'équation de taylor-tilton : je n'arrive pas à afficher l'image (on me demande de me connecter, ce qui est déjà le cas, et quand je me ré-identifie, on me jette...)

    Edit : @pseudocode : même après déconnexion/reconnexion, pas moyen d'avoir accès à tilton-taylor. Pourrais-tu m'envoyer le jpg en MP stp ? Ou me donner une adresse ou je pourrais l'avoir ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Bon alors il y a plusieurs solutions :

    1) le spline bi-cubique
    (te donne une courbe arrondie PASSANT par les points, dont la dérivée première (tangente) ET la dérivée seconde (courbure) sont continues)

    En général existe (voir GraphicsGems) avec 2 routines : une calcule les coefficients avec les points de mesure, l'autre te permet d'interpoler n'importe où. (chacune une 15 aine de lignes de code)

    Inconvénient : (mais je ne pense pas que ce soit le cas dans ton cas, car c'est une grandeur physique, à moins qu'il y ait des points de discontinuité)
    Si 2 points sont assez proches mais avec des valeurs assez différentes, possibilités d'oscillations importantes (afin de garantir les continuités)....

    Avantage : pour des courbes physiques normales, fonctionne en général parfaitement , et colle à la réalité (courbe douce)

    2) Interpolation linéaire couple à couple

    3) Interpolation polynomiale

    4) .....

    Pour ce genre de problème je pencherais fortement pour le spline...

    Cherche dans Graphics Gems. Si tu ne trouves pas je peux fournir le code (en C).

    [EDIT]

    En relisant le post de pseudo-code, il y a aussi, si on connait l'équation, une méthode simple par itération dychotomique, convergeant très rapidement...

    [/EDIT]

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Impossible d'envoyer par MP... J'ai réécrit la formule en texte
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

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

Discussions similaires

  1. Clustering et approximation de courbes
    Par nanath02 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 11/01/2011, 17h27
  2. [Bézier] Approximation de courbes
    Par Cthulhu_RLyeh dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 26/10/2008, 16h33
  3. Approximation d'une courbe
    Par comoliv02 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/12/2007, 10h13
  4. Réponses: 4
    Dernier message: 22/05/2007, 17h08
  5. approximation de courbe par des segments
    Par dseguret dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 27/02/2007, 21h03

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