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

MATLAB Discussion :

Résolution d'un système d'équations non-linéaires [Débutant]


Sujet :

MATLAB

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut Résolution d'un système d'équations non-linéaires
    Bonjour,

    je cherche à résoudre ce système d'équation sous MatLab.
    Sous Mathématica, j'arrive via cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    NSolve[{
    Ree*(P1/Vs1 + P2/Vs2) + Rs2*P2/Vs2 + Vs2 == Ve, 
    Ree*(P1/Vs1 + P2/Vs2) + Rs1*P1/Vs1 + Vs1 == Ve
    }, {Vs1, Vs2}]
    Mais je n'arrive pas à trouver la méthode pour y arriver sous MatLab.

    Pour l'instant, je me "débrouille" en remplaçant la deuxième dans la première. Mais cela demande beaucoup de calcul, donc des sources d'erreur, et j'arrive vite à un système du 5 ordre.
    Et pour des futures simulations, le système sera plus complexe, et donc je pense que cette solution ne sera plus possible.

    D'avance Merci beaucoup

    Nico

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Alors cette commande me redonne un résultat symbolique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Vs1,Vs2] = solve('Re*(P1/Vs1+P2/Vs2)+R2*P2/Vs2+Vs2=Ve','Re*(P1/Vs1+P2/Vs2)+R1*P1/Vs1+Vs1=Ve')
    Bien que j'ai entré les différentes valeurs avant de lancer la commande, elles ne sont pas prises en compte

  3. #3
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Petit soucis avec solve
    qui à l'instant t est la discussion juste en-dessous de la tienne.


  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    on en parle dans cette discussion : http://www.developpez.net/forums/d84...-soucis-solve/

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Il suffisait juste de modifier un peu l'équation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Vs1,Vs2] = solve(Re*(P1/Vs1+P2/Vs2)+R2*P2/Vs2+Vs2-Ve,Re*(P1/Vs1+P2/Vs2)+R1*P1/Vs1+Vs1-Ve)
    Maintenant il ne reste plus qu'à trouver la commande qui me simplifie le résultat...

    [EDIT] Merci pour vos messages je n'avais pas vu l'autre post. Mais je trouve ma façon plus simple, non?!

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    [EDIT] Merci pour vos messages je n'avais pas vu l'autre post. Mais je trouve ma façon plus simple, non?!
    Tu as fait la même chose que dans l'autre post.

    EDIT
    Maintenant il ne reste plus qu'à trouver la commande qui me simplifie le résultat...
    help double

  7. #7
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par magelan Voir le message
    help double
    Merci, je viens juste de tomber dessus aussi

    A bientôt pour de nouvelles questions

    Nico

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Me revoilà, je ne pensais pas revenir aussi vite

    Alors j'ai réussi à mettre le résultat sous forme de matrice, et ils semblent que les valeurs sont automatiquement classées par ordre décroissant, est-ce le cas?!

    Je demande cela car je dois extraire les valeurs les plus proche de Ve pour ensuite les intégrer dans d'autres calculs. Donc si c'est le cas je n'aurais peut-être pas besoin de trouver une façon de les chercher automatiquement dans la matrice.

    Encore Merci

    Nico

  9. #9
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Je ne comprends pas bien : qu'appelles-tu ordre décroissant pour des couples de valeurs?

    Dans tout les cas, même si il y une logique dans l'ordre des réponses (ce dont je doute), je te conseille de ne pas en tenir compte...

  10. #10
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par magelan Voir le message
    Je ne comprends pas bien : qu'appelles-tu ordre décroissant pour des couples de valeurs?
    Si je prends comme valeurs:
    Re=R1=R2=1
    P1=100; P2=4000; Ve=200
    J'obtiens une matrice [4X2], première colonne pour Vs1 et deuxième pour Vs2.
    Et bien les valeurs de Vs1 et de Vs2 sont "rangées" dans un ordre décroissant...



    Dans tout les cas, même si il y une logique dans l'ordre des réponses (ce dont je doute), je te conseille de ne pas en tenir compte...
    Pour l'instant je choisis la facilité

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

Discussions similaires

  1. Système d'équations non linéaires 7x7
    Par december dans le forum MATLAB
    Réponses: 2
    Dernier message: 13/01/2012, 11h18
  2. système d'équation non linéaire
    Par Medde dans le forum Mathématiques
    Réponses: 5
    Dernier message: 11/07/2009, 17h53
  3. Solveur de systèmes d'équations non linéaires
    Par teska dans le forum Langage
    Réponses: 5
    Dernier message: 11/12/2008, 18h07
  4. Réponses: 0
    Dernier message: 01/10/2008, 16h14
  5. Réponses: 1
    Dernier message: 14/02/2007, 12h12

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