Resolution système 5x5 non-linéaire [numériquement]
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Resolution système 5x5 non-linéaire [numériquement]



  1. #1
    invitecd0bd276

    Question Resolution système 5x5 non-linéaire [numériquement]


    ------

    Bonjour à tous


    Navré de vous importuner avec mon petit problème, j'espère que pour vous ça sera plus lumineux que pour moi

    Je dois résoudre un système 5x5 (5 eq & 5 inconnus) faiblement non-linéaire (2 seulement équations le sont) ; le solveur d'Excel est hélas inefficace car les résultats ne sont pas dans le bon intervalle de recherche. Je suis donc passé sous Matlab où j'espère m'en sortir avec la fonction Fsolve

    Pour ceux qui sont curieux le problème à résoudre provient des équations de la combustion de l'ethane suivant un volume d'air variant : outre la bonne vieille réaction de combustion il y a en plus deux réactions de dissociation des molécules (ce sont ces deux équations qui sont non-linéaires) ; l'objectif est de déterminer les compositions molaires ce qui permettra de remonter à la température

    Les équations sont les suivantes :



    "e" représente l'excès (ou le défaut) de dioxygène ; ici on prendra e = -0.5 ; toutes les solutions doivent être positives (ou nulles)

    Voici pour l'instant mon programme

    %Resolution des equations de combustion

    % x1 : x CO2
    % x2 : y CO
    % x3 : w H2O
    % x4 : v H2
    % x5 : q O2
    % i : i N2

    %Donnees
    P= 1;
    Kp4= 0.000194017;
    Kp8= 5.398915192;

    e= -0.5

    i= 18.8*(1+e) % mole de diazote

    F= inline('[x(1)+x(2)-2 ; x(3)+x(4)-3 ; 2*x(1)+x(2)+x(3)+2*x(5)-10*(1+e) ; x(2).^2*x(5)*P./(x(1).^2*(x(1)+x(2)+x(3)+x(4)+ x(5)+i)-Kp4; x(2)*x(3)./x(1)-Kp8]','x');

    [x, fval] = fsolve(F, [0;0], optimset('fsolve'))
    Evidemment ça ne marche pas, et je n'ai pas trouvé de solutions grace à l'aide (sinon je ne viendrais pas vous ennuyer avec ça fff: )

    Si l'un ou plusieurs d'entre vous arrive à faire fonctionner tout ça merci beaucoup de me montrer ; évidemment si il y en a qui savent utiliser autre chose que "Fsolve" je prends aussi ^^

    Merci d'avance !!

    -----

  2. #2
    Jeanpaul

    Re : Resolution système 5x5 non-linéaire [numériquement]

    Je ne comprends pas ta politique : tu laisses des x + y alors que ça vaut 2, des y qui s'écrivent à partir de x, un i qui est une constante.
    Ne vaudrait-il pas mieux condenser cela pour résoudre ou alors, à partir des données de base, intuiter quelques solides approximations ?

  3. #3
    invitecd0bd276

    Re : Resolution système 5x5 non-linéaire [numériquement]

    Merci de cet avis

    Pour te répondre la simplification "ad hoc" est pour moi annecdoctique : certes dans l'avant-dernière équation je peux tout à fait remplacer "x+y+w+v+q+i" par "5+q+9.4" mais honnêtement je n'en ai aucun intérêt n'étant pas question pour moi de résoudre cela autrement que numériquement

    (Je précise que e= -0.5 n'est ici donné que pour exemple ; en réalité e va varier de -0.5 à +3, selon un pas que j'affinerai plus tard ; je peux parfaitement programmer cette boucle moi-même c'est pour cela que je n'ai pas précisé. Mon véritable et unique problème se situe véritablement sur la résolution du système : faire varier les paramètres par boucle est très très simple)

    Voilà, comprends-tu mieux, est-ce plus clair maintenant ? Et aurais-tu quelques pistes ?

    Au passage si quelqu'un a une solution avec un autre logiciel (genre Scilab ou autre) je suis évidemment preneur

    PS : les approximations et les simplifications sont bien évidemment déjà faites, on ne peut en rien alléger plus le problème sans que celui-ci vienne à perdre tout intérêt

  4. #4
    Jeanpaul

    Re : Resolution système 5x5 non-linéaire [numériquement]

    Je persiste dans ma perplexité.
    v n'est pas une vraie inconnue, on peut virer l'équation 2.
    Ensuite y s'exprime en fonction de x donc w aussi.
    q peut alors aussi s'exprimer en fonction de x.
    Finalement, ou bien j'ai tout mal compris ou bien on se ramène à une seule équation en x, tordue certes mais unique.

  5. A voir en vidéo sur Futura
  6. #5
    invitecd0bd276

    Re : Resolution système 5x5 non-linéaire [numériquement]

    La perplexité ne me gène pas tant qu'elle fait avancer le problème.

    Si je te comprends bien tu suggères de manipuler les équations afin d'en tirer une seule à une unique inconnue ou en d'autres termes de procéder à de la simple subsitution.

    C'est une idée intéressante, qui marcherait très certainement avec un système liénaire ; je n'ai pas de doctorat en mathématique mais il me semblait avoir suffisamment précisé que cette démarche est impossible puisque le système ici présent est non-linéaire

    Une erreur étant toujours possible j'ai tout de même essayé de faire à ton idée : aucune solution ; si tu y es arrivé je te serais reconnaissant de me faire partager tes lumières lesquelles sont toutes aussi, sinon plus, attendues que tes perplexités.

    Au passage ne te formalise pas de la tonalité un peu "sèche" de ce message : je suis simplement un peu irrité de constater que tu me croies incapable de résoudre un problème dont tu suggères la simplicité ; à mon niveau je sais parfaitement quand j'ai besoin d'utiliser un ordi et quand j'ai besoin de mon crayon et de mon papier.

    Je renouvelle ma demande : as-tu donc finalement une solution tangible ?

    Merci

  7. #6
    Jeanpaul

    Re : Resolution système 5x5 non-linéaire [numériquement]

    Réponse : oui, du moins si j'ai bien compris que les inconnues sont x, y, w, v, q
    La 1ère donne y = 2 - x
    La seconde ne sert à rien du moment que je remplace w+v par 3 dans la 5ème équation.
    La 3ème donne x + 2 + w + 2q = 10(1+e)
    La 4ème donne (y²q/x²)* [1/(5+i+q)] = Kp4 qui donne q en fonction de x à partir du moment où on a remplacé y par (2-x)
    La 5ème donne yw/x = Kp8 qui donne directement w en fonction de x quand on a là encore remplacé y par (2-x)

    On connaît donc toutes les variables en fonction de x : y, q, w et on porte dans la 3ème, ce qui fournit une équation en fonction de x, qu'il faut attaquer numériquement car elle n'est pas simple.
    Les méthodes de substitution ça marche aussi pour les problèmes non-linéaires et heureusement.

  8. #7
    ABN84

    Re : Resolution système 5x5 non-linéaire [numériquement]

    tu peux au moins simplifier le probleme pour qu'il n'y ait plus que 3 eq en x,w, et q:
    x+2+w+2*q = i/18.8
    (2-x)^2*q*P/(x^2*(5+q+i)) = kp4
    (2-x)*w/x = kp8

    pour moi ça a marché, mais le resultat est indigeste.
    "Engineering is the art of making what you want from what you get"

Discussions similaires

  1. Résolution numérique d'un système d'équations différentielles d'ordre 2 non linéaire
    Par invitea7473580 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 02/07/2008, 16h55
  2. Résolution de système d'équations non linéaire
    Par bansan dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 16/02/2007, 15h39
  3. Pb pour la resolution d'un système d'équation non linéaire
    Par invite38685413 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 04/08/2006, 10h30
  4. logiciel pour resolution d'une équation non-linéaire
    Par bob_isat dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 10/03/2006, 18h41
  5. resolution des equation differentielle lineaire et n-lineaire
    Par invitec6663e68 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 10/08/2004, 14h02