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 :

Trouver l'intersection d'une courbe et d'une droite


Sujet :

Mathématiques

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Trouver l'intersection d'une courbe et d'une droite
    Bonjour,

    Je suis du domaine du genie climatique et je travaille sur une feuille de calcul des proprietes de l'air humide.
    N'ayant pas un background consequent en mathematique, j'ai des difficultes avec les intersections de courbes.

    J'ai un graphique avec en y-axis la moisture note "g" et en x-axis la temperature note "T". J'ai egalement sur ce graphique la pression de saturation note "Ps".
    Je cherche a modéliser sur ce graphique, la droite d'evolution d'un air passant sur une batterie de refroidissement. Cela correspond a une droite reliant un couple point_1(moisture_1,temperature_1) et point_2(moisture_2,temperature_2).

    Cependant, du faite de proprietes de l'air humide, la prolongation de cette droite doit couper Ps = 100%. En gros, "g" devient "gs" : Saturated moisture.

    J'ai egalement pour contrainte de conserver point_1(moisture_1,temperature_1) et point_2(moisture_2,temperature_2) en tant que variables (car je dois traiter ces donnes en VBA avec excel)

    Les formules sont les suivantes :

    Equation de Ps :
    If T≥0 :
    Ps=10^(30.59051−8.2log(T+273.16)+2.4804E−3∗(T+273.16)−[3142.31/(T+273.16)]
    If T<0 :
    Ps=10^(9.5380997−[3142.31/(T+273.15)]

    Equation de ma droite de soufflage :
    g=A∗T+B
    (je connais g, A et B)

    Equation de gs :
    gs=(0.62197∗fs∗Ps)/(101.325−fs∗Ps)


    Donc je doit poser :
    g=gs
    A∗T+B=(0.62197∗fs∗Ps)/(101.325−fs∗Ps)
    Et je remplace Ps par la 1ere equation.
    La solution de l'equation doit me donner la valeur de T (x-axis), ensuite je re-utilise une des 2 equations pour trouver la valeur correspondante g=gs pour cette temperature et cela me donne les coordonnes de l'intersection? Correct?

    Je bloque sur la partie implementation de l'algorithme pour resoudre l'equation sous VBA. Pour y arriver, je dois isoler T ?
    L'idee etant de verifier que la droite g=A*T+B coupe bien Ps et trouver les valeurs.

    J'ai attache un graphe avec examples.
    Nom : Diagramme psychrométrique.png
Affichages : 5732
Taille : 491,4 Ko

    Merci pour votre aide!

    PS : Desole pour les accents, clavier UK

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Le logarithme qui est présent dans ta formule est-il le logarithme népérien ou le logarithme base 10 ?
    Rappel:
    Français:
    ln: logarithme népérien
    log: logarithme base 10
    Anglais:
    log: logarithme népérien
    Log: logarithme base 10.


    Ensuite, ce n'est pas tellement algorithmique mais juste calculatoire.
    Commence par simplifier par fs*Ps pour ne pas avoir deux fois ton Ps barbare.
    Il reste à isoler T dans l'expression de Ps pour l'inverser.

    Sinon, il faudra faire une dichotomie par une macro VB.


    Faut-il que tes valeurs se mettent à jour automatiquement en temps réel ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Trouver l'intersection d'une courbe et d'une droite
    Bonjour,

    Citation Envoyé par xcvb33 Voir le message
    Bonjour,

    Je suis du domaine du genie climatique et je travaille sur une feuille de calcul des proprietes de l'air humide.
    N'ayant pas un background consequent en mathematique, j'ai des difficultes avec les intersections de courbes.

    J'ai un graphique avec en y-axis la moisture note "g" et en x-axis la temperature note "T". J'ai egalement sur ce graphique la pression de saturation note "Ps".
    Je cherche a modéliser sur ce graphique, la droite d'evolution d'un air passant sur une batterie de refroidissement. Cela correspond a une droite reliant un couple point_1(moisture_1,temperature_1) et point_2(moisture_2,temperature_2).

    Cependant, du faite de proprietes de l'air humide, la prolongation de cette droite doit couper Ps = 100%. En gros, "g" devient "gs" : Saturated moisture.

    J'ai egalement pour contrainte de conserver point_1(moisture_1,temperature_1) et point_2(moisture_2,temperature_2) en tant que variables (car je dois traiter ces donnes en VBA avec excel)

    Les formules sont les suivantes :
    Equation de Ps :
    If T=0 : Ps=10^(30.59051-8.2lg(T+273.16)+2.4804E-3*(T+273.16)-[3142.31/(T+273.16)]
    If T<0 : Ps=10^(9.5380997-[3142.31/(T+273.15)]

    Equation de ma droite de soufflage : g=A*T+B (je connais g, A et B)
    Equation de gs : gs=(0.62197*fs*Ps)/(101.325-fs*Ps)

    Donc je doit poser : g=gs
    A*T+B=(0.62197*fs*Ps)/(101.325-fs*Ps) Et je remplace Ps par la 1ere equation.
    La solution de l'equation doit me donner la valeur de T (x-axis), ensuite je re-utilise une des 2 equations pour trouver la valeur correspondante g=gs pour cette temperature et cela me donne les coordonnes de l'intersection? Correct?
    Je bloque sur la partie implementation de l'algorithme pour resoudre l'equation sous VBA. Pour y arriver, je dois isoler T ?
    L'idee etant de verifier que la droite g=A*T+B coupe bien Ps et trouver les valeurs.
    Tu dois travailler sur l'exploitation d'un diagramme de Mollier, et si j'ai bien compris retrouver par un calcul programmé la valeur d'une variable (la température), dont on peut lire la valeur approchée sur l'abaque.

    Ne disposant que de peu de temps, je ne peut te donner que quelques consignes, pour préparer le terrain:
    1°) Je suppose que tu as sous la main une bonne documentation de cours; sinon regarder sur la Toile ("diagramme psychrométrique, diag. de Mollier, diag. enthalpique); liens rapidement trouvés: https://fr.wikipedia.org/wiki/Psychrom%C3%A9trie
    https://fr.wikipedia.org/wiki/Diagramme_d'enthalpie
    http://www.dimclim.fr/diagrammes-air-humide.php

    2°) En ce qui concerne l'aspect calculatoire, il est hors de question que tu traînes des relations numériques aussi lourdes; un calcul littéral s'impose, qui réduira considérablement les risques d'erreur et te permettra un compréhension beaucoup plus rapide du traitement des équations.

    a) D'abord mettre la notation en accord avec les conventions habituelle dans ce domaine (d'ailleurs confirmées par l'AFNOR), en notant (t) la température Celsius (laissons de côté le symbole "thêta") et (T) la température thermodynamique (exprimée en kelvins): T = t + 273.15 * .
    (*) En corrigeant trois anomalies numériques, qui m'ont d'abord échappé en raison de la lourdeur des expressions .

    b) D'où les deux expressions de la pression de vapeur saturante de de l'eau, qui interviennent de part et d'autre de son point de fusion:
    # pour l'équilibre de vaporisation du liquide (t>=0 °C): lg(Ps1) = A1 - B1/T + C1*lg(T) + D1*T
    avec A1 = 30.59051 ; B1 = 3142.31 K ; C1 = −8.2 ; D1 = +2.4804E−3 K-1 ;
    # pour l'équilibre de sublimation de la glace (t <= 0°C): lg(Ps2) = A2 - B2/T , avec A2 = 9.5380997 et BSUB]2[/SUB]/T = 3142.31 K .

    Je remarque à l'instant l'égalité improbable B1 = B2 = 3142.31 K : une erreur numérique paraît certaine, d'autant que les deux expressions conduisent à des valeurs très différentes de la pression d'équilibre à la frontière (0°C): lg(Ps1) = - 0.214115 ; lg(Ps2) = - 1.965451 .
    Comme on se trouve ici très près du point triple de l'eau (T = 273,16 K - soit t = 0,01 °C et P = 611 Pa), qui est le point de raccordement des deux courbes de changement d'état,
    https://fr.wikipedia.org/wiki/Point_triple
    on peut faire un calcul à titre de comparaison; on trouve: lg(P) = lg(0.411 kPa) ) = -0.386158 , valeur beaucoup plus proche de lg(Ps1) que du second terme: celui-ci comporte donc une donnée défectueuse.

    c) # g = A∗T + B Rien à redire pour la forme.
    # gs = (0.62197∗fs∗Ps)/(101.325 − fs∗Ps) D'où vient le premier facteur numérique ?
    La seconde donnée représente probablement la pression extérieure P° = 1 atm = 101325 Pa = 101.325 kPa: ce qui signifie toutes les pressions s'expriment à l'aide de cette unité dans les relations numériques - attention aux termes vicieux du type log(P) !
    Il vaudra mieux écrire cette dernière relation sous la forme: Gs = k.Fs*Ps/(P°-Fs*Ps) .

    Il intervient nécessairement des logarithmes décimaux. Le passage à la forme explicite T = F-1(Ps1) de la relation réciproque de Ps1 = F(T) n'est malheureusement pas possible en raison de la présence, dans la somme, du terme en lg(T): il y aura vraisemblablement, à un moment donné, une recherche de racine par approximations successives, sur une équation du type H(T) = 0, résultant des conditions:
    # Pvapeur <= Ps # Ps = Ps1 (si t > 0) # Ps = Ps2 (si t < 0) .


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  4. #4
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Je suppose que tu as accès au livre d'Iribarnes et Johnson , non ?

    Si oui, tu as les formules exactes. Je n'ai pas le temps là de détailler, mais dans les calculs comme ceux-ci, il y a 3 types de choses à faire :

    • Pour certaines constantes (chaleur latente de dissipation etc), il y a des tables de mesures (Smithsonian Institute, quelque part vers 1870, une série de mesures complètes en fonction de la pression), qu'il suffit d'interpoler bi-linéairement.
    • Pour certaines équations (calcul de Rd par exemple) une approche numérique par dichotomie (intégration du log)
    • Pour le calcul de l'équation le long de l'adiabatique humide, une intégration par pas en se servant des équations/intégrations ci-dessus.


    J'ai tout ça programmé quelque part (en C), si tu me donnes exactement ce que tu souhaiterais (quelle équation réelle, son nom (exemple : "adiabatic parcel lift" ou ...)) je peux te trouver le code..

    (là je suppose en regardant le diagramme qu'il y a le parcours le long d'une adiabatique plus une descente/montée le long d'une iso-masse d'eau ou rapport de mélange)




    NOTE: l'important avec ce genre de diagramme est de se faire une bibliothèque comprenant les fonctions permettant de tracer les axes (ce qui donne les calculs élémentaires pour chacune des variables : rapport de mélange constant, température constante, humidité constante, adiabatique sèche, adiabatique humide..)

    Ce qui permet ensuite de combiner comme on le souhaite suivant ce qu'on veut faire comme calculs...
    "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

Discussions similaires

  1. Trouver une equation à partir d'une courbe
    Par vinzzzz dans le forum Mathématiques
    Réponses: 10
    Dernier message: 17/05/2010, 09h52
  2. Proximité d'une sphère à une courbe et d'une surface de révolution.
    Par méphistopheles dans le forum Mathématiques
    Réponses: 14
    Dernier message: 04/06/2007, 09h37
  3. Interpoler une courbe à partir d'une image
    Par killerfrog dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/03/2007, 22h44
  4. Expression d'une fonction à partir d'une courbe
    Par ramrouma dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/01/2007, 17h52
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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